第一段:
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个方法打开了窗口,第一个方法还没取到过期时间。
第一个开了两个线程,而第二段只开了一个线程。
第一段是 异步执行
第二段是 同步执行
要是能把代码的样式整理一下的话,会让人舒服很多。