在介面的子執行緒中操作介面控制項

2021-05-23 12:27:57 字數 308 閱讀 9401

通常,會有這樣的需求與問題:執行了乙個窗體,觸發某個事件後需要做一些處理,而這個處理可能比較耗時間或者耗資源,如果直接在訊息響應中處理,執行起來介面會假死。這個時候,我們想到了多執行緒,新建乙個子執行緒來處理這個過程,然後將處理的結果告訴介面執行緒,並在介面上體現出來給使用者看。這樣就出現了乙個問題,子執行緒顯示結果給使用者時,需要操縱介面執行緒管理的控制項,而當子執行緒沒有釋放這個控制時,控制項也會出現假死,因為介面執行緒不能及時繪製控制項了。

處理方法:使用委託,將子執行緒操作控制項的部分委託給介面執行緒去做。例子

通常的實現如下: 

修正:

Map介面的子介面HashMap

hashmap 屬於新的操作類是jdk1.2之後推出的,採用非同步處理方式,效能更高,屬於非執行緒安全的操作類,一般格式為 mapmap new hashmap 這裡的object是結合了 物件導向的多型的特點,map 集合儲存資料的方式都是key,value來進行儲存,實際上就是將資料儲存在了ma...

UIView 子介面的處理

1.加入乙個 uiview void addsubview uiview view 加入後的uiview會一層層地覆蓋在父介面上,例如 uiview parenview uiview alloc initwithframe frame uiview viewa uiview alloc initwi...

總結4種執行緒中操作UI介面的方法

子執行緒呼叫handler的sendmessage message 傳送事件。mhandler new handler public class mythread extends thread 方法二 view.post runnable public void onclick view v sta...