Java之ThreadLocal类
程序员文章站
2024-03-23 15:20:34
...
ThreadLocal类
-
作用
ThreadLocal 适用于每个线程需要自己独立的实例且该实例需要在多个方法中被使用,也即变量在线程间隔离而在方法或类间共享的场景。
-
目的
为了解决JDBC中,Connection在web,service,dao层传输过程中获取的是同一值,以达到控制事务操作的作用。
-
原理
既然每个访问 ThreadLocal 变量的线程都有自己的一个“本地”实例副本。一个可能的方案是 ThreadLocal 维护一个 Map,键是 Thread,值是它在该 Thread 内的实例。线程通过该 ThreadLocal 的 get() 方案获取实例时,只需要以线程为键,从 Map 中找出对应的实例即可。
-
用法
private static ThreadLocal<Connection> thread01 = new ThreadLocal<Connection>();
-
实例