Eclipse rcp asyncExec事件何时开始?
我正在尝试创建一个用于开发插件的裸体应用程序。我不需要工作台 下面将显示标题1对话框,但标题2从不显示 为了显示第二个,需要做什么Eclipse rcp asyncExec事件何时开始?,eclipse-rcp,Eclipse Rcp,我正在尝试创建一个用于开发插件的裸体应用程序。我不需要工作台 下面将显示标题1对话框,但标题2从不显示 为了显示第二个,需要做什么 public class BareBonesApp extends AbstractApplication { public Object start(IApplicationContext context) throws Exception { Display display = PlatformUI.createDisplay()
public class BareBonesApp extends AbstractApplication
{
public Object start(IApplicationContext context) throws Exception
{
Display display = PlatformUI.createDisplay();
MessageDialog.openWarning(null, "title1", "message1");
display.asyncExec(new Runnable()
{
public void run()
{
MessageDialog.openWarning(null, "title2", "message2");
}
});
return null;
}
}
Display为应在指定时间(Display.timerExec)内运行sync、async或的可运行程序提供了不同的队列。当Display.readAndDispatch已调度所有事件时,首先执行同步队列中的可运行项,然后清空异步队列,然后执行到期的timerExec可运行项 Display.syncExec和Display.asynceec之间的唯一区别是syncExec方法等待Display线程执行runnable。Display.asyncExec只是将runnable排队,然后继续 因此,如果“title2”从未出现,我估计您的应用程序不会运行显示循环:
Display display = new Display(); // this thread should be the only one that creates a display instance
while (someCondition) {
if (!display.readAndDispatch())
display.sleep();
}
Display为应在指定时间(Display.timerExec)内运行sync、async或的可运行程序提供了不同的队列。当Display.readAndDispatch已调度所有事件时,首先执行同步队列中的可运行项,然后清空异步队列,然后执行到期的timerExec可运行项 Display.syncExec和Display.asynceec之间的唯一区别是syncExec方法等待Display线程执行runnable。Display.asyncExec只是将runnable排队,然后继续 因此,如果“title2”从未出现,我估计您的应用程序不会运行显示循环:
Display display = new Display(); // this thread should be the only one that creates a display instance
while (someCondition) {
if (!display.readAndDispatch())
display.sleep();
}