我们在操作UI时,难免要调用一些非UI的方法来获取数据
我们还要将数据返回到对应的UI控件上,又不能出现那种假死-一直等待的状态。
解决的办法:
我们操作时应该启动2个线程,
1个负责后台去获取数据-Thread
1个负责更新前端的控件信息,更新控件信息使用UI线程(Thread中含有UI线程 这样就不会出现异常了)
至于使用同步还是异步要根据具体的需求来确定,比如说是否是有序执行,还是说无所谓,自己执行自己的。
同步代码:
Display.getDefault().syncExec(new Runnable(){
public void run(){
//TODO
}
});
异步代码:
Display.getDefault().asyncExec(new Runnable(){
public void run(){
//TODO
}
});