无效的线程访问异常

时间:2014-11-12 12:41:26

标签: java multithreading swt

我正在开发Eclipse RAP应用程序。每当两个或多个用户同时对应用程序执行UI读/写操作时,就会抛出SWT无效的线程访问异常。为每个用户维护一个不同的会话。

我尝试过使用Display.asyncExec()Display.syncExec(),甚至尝试将代码(读/写操作)放在synchronized块中。但似乎没有任何效果。 但是,当只有一个用户使用它时,应用程序可以正常工作。

通过从另一个控件的侦听器内的SWT控件读取或写入数据来抛出异常。

以下是单击btnSave时调用的示例代码:

   btnSave.addListener(SWT.Selection, new Listener() {
    @Override
    public void handleEvent(Event event) {

       cmbBox.getText();// invalid thread access
       //OR
       cmbBox.setText();// invalid thread access    

    }
});
// btnSave is a Button 
// cmbBox  is a ComboBox

有人可以帮我解决这个问题吗?感谢

0 个答案:

没有答案