SWT多线程注意事项
要在后臺線程里對前臺界面組件進行訪問的解決辦法:使用Display對象,Display對象主要負責管理事件循環和控制UI線程和其它線程之間的通信。
?
若要訪問UI界面上的對象必須通過UI線程來訪問,就是說在非UI線程中調用UI對象是不允許的,這是出于線程安全的考慮。
??? Display對象中負責調用其他線程的方法有以下3種:
1. asyncExec(Runnable runnable):異步啟動新的線程。UI線程不會等待runnable對象執行結束后再繼續進行,就是說UI線程可以和runnable對象所在的線程同時運行。
2. syncExec(Runnable runnable):同步啟動新的線程。UI線程會等待runnable對象執行結束后才會繼續進行。getSyncThread()方法可以獲得線程對象。當runnable對象是耗時大的線程時,盡量不要采用此種方式。
3. timerExec(int milliseconds, Runnable runnable):指定一段時間再啟動新的線程。用此方法創建的線程,將會在指定的時間后再啟動線程。與UI線程是異步的。
Display對象中,與UI線程相關的方法如下:
?1. 獲得當前的UI線程對象:getThread()
?2. 使UI線程處于休眠狀態:sleep()
?3. 喚醒UI線程:wake()
轉載于:https://www.cnblogs.com/erweiyang/archive/2012/09/17/2688552.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的SWT多线程注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过udp及vlc传递视频流
- 下一篇: 2012 依赖注入框架