Java PlatformUI.createDisplay()是否确保通过UI线程创建显示对象?
如何确保仅通过UI线程创建对象Java PlatformUI.createDisplay()是否确保通过UI线程创建显示对象?,java,user-interface,thread-safety,swt,eclipse-rcp,Java,User Interface,Thread Safety,Swt,Eclipse Rcp,如何确保仅通过UI线程创建对象 .createDisplay()是否确保通过UI线程创建显示对象?PlatformUI.createDisplay基本上只是在尚未创建显示的情况下执行新显示()。它打算在i应用程序中使用,如下所示: public class Application implements IApplication { @Override public Object start(final IApplicationContext context) { final
.createDisplay()是否确保通过UI线程创建显示对象?
PlatformUI.createDisplay
基本上只是在尚未创建显示的情况下执行新显示()。它打算在i应用程序中使用,如下所示:
public class Application implements IApplication
{
@Override
public Object start(final IApplicationContext context)
{
final Display display = PlatformUI.createDisplay();
try
{
final int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART)
return IApplication.EXIT_RESTART;
return IApplication.EXIT_OK;
}
finally
{
display.dispose();
}
}
它将创建显示并使用当前线程作为用户界面线程运行RCP
在Mac OS X上,还需要使用-xstartonfirsthread
参数来获取正确的UI线程。您是否询问iaapplication
类中的代码?