文章目录
- ThreadLocal的原理,以及在Looper是如何应用的?
-
- ThreadLocal 是什么
- ThreadLocalMap是什么?
- ThreadLocal在Looper中的应用
-
- **总结**
- 扩展阅读
ThreadLocal的原理,以及在Looper是如何应用的?
ThreadLocal
可以把一个对象保存在指定的线程中,对象保存后,只能在指定线程中获取保存的数据,对于其他线程来说则无法获取到数据。
日常开发中 ThreadLocal
使用的地方比较少,但是系统在 Handler
机制中使用了它来保证每一个 Handler
所在的线程中都有一个独立的 Looper
对象,为了更好的理解 Handler
机制。
ThreadLocal 是什么
ThreadLocal
是一个关于创建线程局部变量的类。
其实就是这个变量的作用域是线程,其他线程访问不了。
通常我们创建的变量是可以被任何一个线程访问的,而使用 ThreadLocal
创建的变量只能被当前线程访问,其他线程无法访问。
那么ThreadLocal
是如何确保只有当前线程可以访问呢?
我们先来分析一下