1. 首页
  2. 编程语言
  3. Java
  4. java  中ThreadLocal实例分析

java  中ThreadLocal实例分析

上传者: 2021-05-31 21:57:05上传 PDF文件 77.21 KB 热度 21次

从概念上理解,threadlocal使变量在多个线程中相互隔离实现线程安全,threadlocal包装的变量最终都专属于对应的每个线程,线程之间相互独立,用一个具体实现来说明:ConsumeClientA是在没有做任何线程安全处理,结果如下:增加threadlocal处理,每个线程相互独立,实现如下:运行的结果如下:每个线程拥有自己的独立变量,相互隔离实现线程安全。set方法的操作也是一样:ThreadLocalMap中存的是内部类Entry的数组,Entry是继承WeakReference实现,WeakReference的好处是保存对象引用,而又不干扰该对象被GC回收,线程执行完回收threadLocals变量时不会受到Entry封装的变量的干扰。综上,很多人说ThreadLocal的实现是ThreadLocalMap中存Thread对象为key,变量为value的map结构,其实是错误的。感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

下载地址
用户评论