ThreadLocal 简介
这个类提供一个线程内部变量。通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用 ThreadLocal 创建的变量只能被当前线程访问,其他线程则无法访问和修改。
在日常开发中用到 ThreadLocal 的地方比较少,但是在某些特殊的场景下,通过 ThreadLocal 可以轻松地实现一些看起来很复杂的功能,这一点在 Android 的源码中也有所体现,比如 Looper、ActivityThread 以及 AMS 中都用到了 ThreadLocal。一般来说,当某些数据是以线程为作用域并且不同线程具有不同的数据副本的时候,就可以考虑采用 ThreadLocal。
ThreadLocal 使用
创建,支持泛型
|
|