作用:在并发环境下避免竞争、简化编程,高效
在并发环境下提供了一个逻辑上全局的访问点访问线程本地对象
原理:
用二维矩阵描述如下:
| Thread-1 | ……. | Thread-n |
Key1 |
|
|
|
….. |
| Value(k,k) |
|
keyn |
|
|
|
每个线程内部都有一个hastable作为存储存储器保存线程本地对象集,作为, ThreadLocal实例对象作为key可以被所有线程共享,这个实例对象就是我们所说得全局的访问点,通过它可以访问线程本地对象。所以我们可以这样说:通过ThreadLocal提供了逻辑上全局的线程本地对象。
POSIX,Solaris ,WIN32线程库都有支持
使用案例:
JBOSS:事务处理、安全认证、容器方法调用和参数传递等
Spring&AOP 其中Springframework使用了大量技术