rcp(插件开发)异常:Exception in thread "Thread-7" org.eclipse.swt.SWTException: Invalid thread access
原因: 产生的原因是RCP框架下,UI组件只能由UI线程来更新,禁止后台线程访问.,如 Timer 所触发的事件的处理代码; 用Job创建的分线程等. 由UI组件事情说触发的都是UI线程.
方法:只要把后台线程中涉及界面更新的代码交由UI线程处理即可.可以调用 Display.getDefault().asyncExec()来实现.
测试使用:
Display.getDefault().asyncExec(new Runnable(){
@Override
public void run() {
}
});