ThreadLocal 是线程本地存储,在每个线程中都创建了一个 ThreadLocalMap 对象,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value。
经典的使用场景是为每个线程分配一个 JDBC 连接 Connection。这样就可以保证每个线程的都在各自的 Connection 上进行数据库的操作,
不会出现 A 线程关了 B线程正在使用的 Connection; 还有 Session 管理 等问题。
本文解析ThreadLocal的工作原理,并介绍其在并发编程中如何避免线程间资源冲突,以JDBC Connection为例,演示如何利用ThreadLocal解决Session管理问题。
ThreadLocal 是线程本地存储,在每个线程中都创建了一个 ThreadLocalMap 对象,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value。
经典的使用场景是为每个线程分配一个 JDBC 连接 Connection。这样就可以保证每个线程的都在各自的 Connection 上进行数据库的操作,
不会出现 A 线程关了 B线程正在使用的 Connection; 还有 Session 管理 等问题。
2499

被折叠的 条评论
为什么被折叠?