最近在研究SWT,写了个小例子,涉及到线中的数据互访,如果在一个线程中的触发事性中再去访问另一个线程的数据,会把Invalid thread access的错误。
用SWT提供的display.asyncExec方法,发现其实质根本不是另开一个线程,只是把run方法调用了一次,所以导致调用Thread.sleep时程序就会死掉。
经过查阅资料及baidu和google,找到了解决办法,现总结一下:
1、定时器实现方式,在Main方法中加一个定时器,代码如下:()
最近在研究SWT,写了个小例子,涉及到线中的数据互访,如果在一个线程中的触发事性中再去访问另一个线程的数据,会把Invalid thread access的错误。
用SWT提供的display.asyncExec方法,发现其实质根本不是另开一个线程,只是把run方法调用了一次,所以导致调用Thread.sleep时程序就会死掉。
经过查阅资料及baidu和google,找到了解决办法,现总结一下:
1、定时器实现方式,在Main方法中加一个定时器,代码如下:()