Handler原理解析

Handler的作用主要是用于线程间通信,要想理解Handler主要就是理解Handler通信的原理。用一句话来概括就是:Handler通过线程间创建单一对象的Looper持有MessageQueue实现线程间通信。

我们只需要理解几个简单的概念就能明白了:

1.线程间通信就是指的线程间的数据传输。其实这里的传输并不是字面上理解的从一个线程把数据发送道另外一个线程,而是把数据从Handler创建或指定Looper的线程中传输。

2.Looper在同一线程中是单例的。实现是通过私有化构造方法,通过ThreadLocal实现的。

3.Handler创建时必须指定一个Looper,默认当前线程的Looper。

4.handler.sendMessage();其实实在其他线程调用Looper线程赋值的一个过程,以此达到线程间数据传输的作用。

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