`

ThreadLocal的理解

阅读更多

转载自     cmjerry    http://cmjerry.blogbus.com/logs/16385034.html


ThreadLocal类为于java.lang包中,它是java中一种较为特殊的线程绑定机制,会为每个线程维护一个私有的变量空间。通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM为每个运行的线程绑定了私有的本地实例化存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。实际上,其实现原理是在JVM中维护一个Map,这个Map的key就是当前的线程对象,而value则是线程通过ThreadLocal.set方法保存的对象实例。当线程调用ThreadLocal.get方法时,ThreadLocal会根据当前线程对象的引用,取出Map中对应的对象返回。这样,ThreadLocal通过以各个线程对象的引用作为区分,从而将不同线程的变量隔离开来。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics