ThreadLocal--保证线程变量安全的另外一种方法

根据JDK文档中的解释:ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。

从这里可以看出,引入ThreadLocal的初衷是为了提供线程内的局部变量,而不是为了解决共享对象的多线程访问问题。实际上,ThreadLocal根本就不能解决共享对象的多线程访问问题。

说在什么时候用到就是在spring中,绝大部分Bean都可以声明为singleton作用域,singleton作用域的意思就是单例模式,且默认是饿汉模式,下面所说.

总之,就是因为Spring对一些Bean中非线程安全状态采用ThreadLocal进行处理,来保证线程安全.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一如那年高考 雨后平阳初晓 我们的分别没有征兆 那是生命第一次奔逃 向着未来迈向更好 从未预料 你我相遇哪个街角
    南风之南阅读 1,202评论 0 1
  • (原创)《最纯真的快乐没了吗?》 伫立优优公园的观景台,望着眼前的一切,却没有了一丝丝的感觉。没有忧伤但也没有了快...
    驻足看风景阅读 1,027评论 0 1
  • js继承有多种继承方式,但最常用的是组合模式,代码例子如下 在这种方式下,把实例函数都保存在原型对象上,这样可...
    xiaomich阅读 2,312评论 0 1