以下两段java代码的区别是什么?

第一段:
if (!"".equals(windowNo)) {
setWindowNo(windowNo);
Display.getDefault().asyncExec(new Runnable() {
public void run() {
licenseKeyAlertDialog = new LicenseKeyAlertDialog(AplMain
.getActiveWorkbenchShell(), windowNo,
lisenceKeyInfo.getExpirationDays());
}
});
Display.getDefault().asyncExec(new Runnable() {
public void run() {
licenseKeyAlertDialog.open();
}
});
}


第二段:

if (!"".equals(windowNo)) {
setWindowNo(windowNo);
Display.getDefault().asyncExec(new Runnable() {
public void run() {
licenseKeyAlertDialog = new LicenseKeyAlertDialog(AplMain
.getActiveWorkbenchShell(), windowNo,
lisenceKeyInfo.getExpirationDays());
licenseKeyAlertDialog.open();
}
});
}
请指教,谢谢!

第一段lisenceKeyInfo.getExpirationDays())和 licenseKeyAlertDialog.open();是异步执行的吧,第二段是顺序执行的。 第一段有可能第2个方法打开了窗口,第一个方法还没取到过期时间。

第一个开了两个线程,而第二段只开了一个线程。

第一段是 异步执行
第二段是 同步执行

要是能把代码的样式整理一下的话,会让人舒服很多。