Handler原理解析

Handler的作用主要是用於線程間通信,要想理解Handler主要就是理解Handler通信的原理。用一句話來概括就是:Handler通過線程間創建單一對象的Looper持有MessageQueue實現線程間通信。

我們只需要理解幾個簡單的概念就能明白了:

1.線程間通信就是指的線程間的數據傳輸。其實這裏的傳輸並不是字面上理解的從一個線程把數據發送道另外一個線程,而是把數據從Handler創建或指定Looper的線程中傳輸。

2.Looper在同一線程中是單例的。實現是通過私有化構造方法,通過ThreadLocal實現的。

3.Handler創建時必須指定一個Looper,默認當前線程的Looper。

4.handler.sendMessage();其實實在其他線程調用Looper線程賦值的一個過程,以此達到線程間數據傳輸的作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章