verysu 设计模式 设计模式 响应式编程 百度开发平台 codeforces leetcode usfca

导航

ThreadLocal的原理和使用

原理
ThreaLocal,线程本地变量,也有叫线程本地存储的。以空间换时间。简单来说就是可以实现线程之间变量隔离,每个线程对于变量操作不影响其他变量。在JDBC连接中,可以用这个类来存储连接给线程去用,每个线程从ThreadLocal中获取连接,每个线程都只能使用他自己获取的这个连接,不能使用其他线程的连接。ThreadLocal底层相当于一个map数组,key用来存储当前线程,value用来存储当前线程下共享的数据。
使用
它里面有一些方法需要说明一下
1、get() 获取ThreadLocal中当前线程共享变量的值。
2、set(T value) 设置ThreadLocal中当前线程共享变量的值。
3、remove()移除ThreadLocal中当前线程共享变量的值
为什么用ThreadLocal,解决了什么问题
ThreadLocal通过底层代码实现了各个线程只能处理自己的数据,不能处理其他线程的数据,有效的解决了事务处理时的并发问题。

posted on 2020-01-08 11:02  泳之  阅读(212)  评论(0编辑  收藏  举报

我是谁? 回答错误