ThreadLocal
作用
提供线程内的局部变量,不同的线程之间不会互相干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量传递的复杂度。
总结
1、线程并发:在多线程并发的场景下
2、传递数据:我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量
3、线程隔离:每个线程的变量都是独立的,不会互相影响
ThreadLocal VS synchronized
synchronized:
原理:同步机制采用“以时间换空间”的方式,只提供了一份变量,让不同的线程排队访问
侧重点:多个线程之间访问资源的同步
ThreadLocal原理:
原理:采用“以空间换时间”的方式,为每一个线程都提供了一份变量的副本,从而实现同时访问而互不干扰
侧重点:多线程中让每个线程之间的数据相互隔离

浙公网安备 33010602011771号