ThreadLocal

一、ThreadLocal原理
ThreadLocal一般称为线程本地变量,是一个特殊的线程绑定机制,将线程和变量绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内,而不会和其他线程的副本冲突。
ThreadLocal_第1张图片
ThreadLocal_第2张图片

二、用ThreadLocal的基本用法
1、Get()方法:
获取ThreadLocal中当前线程共享变量的值。
ThreadLocal_第3张图片
2、Set()方法:
设置ThreadLocal中当前线程共享变量的值。ThreadLocal_第4张图片
3、remove():
移除ThreadLocal中当前线程共享变量的值。ThreadLocal_第5张图片
4、initialValue():
ThreadLocal没有被当前线程赋值或调用remove方法后调用get方法,则返回此方法值。ThreadLocal_第6张图片
ThreadLocal_第7张图片

三、最常见的ThreadLocal应用场景为
1.用来解决 数据库连接、session管理
2.缓存经常需要的对象
3.使用线程保持状态(用户id、事务id、日志-id)

你可能感兴趣的:(ThreadLoacal,java)