ThreadLocal和线程同步机制都为解决多线程并发问题解决了一种思路。
但是线程同步机制采用对象锁机制去保证同一时刻只有一个线程去访问该变量,但此时该变量是共享的,所以在程序设计以及编写难度都很大。
而ThreadLocal则从另外一个角度去解决该问题:为每一个线程提供单独的变量副本,那么就不存在线程同步的问题,我们可以把不安全的变量都放在ThreadLocal中存储。
ThreadLocal和线程同步机制都为解决多线程并发问题解决了一种思路。
但是线程同步机制采用对象锁机制去保证同一时刻只有一个线程去访问该变量,但此时该变量是共享的,所以在程序设计以及编写难度都很大。
而ThreadLocal则从另外一个角度去解决该问题:为每一个线程提供单独的变量副本,那么就不存在线程同步的问题,我们可以把不安全的变量都放在ThreadLocal中存储。