Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PlatformUI.createDisplay()是否确保通过UI线程创建显示对象?_Java_User Interface_Thread Safety_Swt_Eclipse Rcp - Fatal编程技术网

Java PlatformUI.createDisplay()是否确保通过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

如何确保仅通过UI线程创建对象


.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
类中的代码?