不太明白ThreadLocal的作用是什么,每个线程维护一个ThreadMap不就行了吗?为什么还要加层线程共享的threadlocal呢?
2条回答 默认 最新
- 幻灰龙 2022-11-29 09:18关注
ThreadMap是ThreadLocal内部实现依赖的。目的是非线程安全,但是又不会有并发问题。如果用普通本地变量要做到每个线程自动有同一个变量的副本。会麻烦很多,也容易出错。不是一定要,而是规范,有保证。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
不太明白ThreadLocal的作用是什么,每个线程维护一个ThreadMap不就行了吗?为什么还要加层线程共享的threadlocal呢?
ThreadMap是ThreadLocal内部实现依赖的。目的是非线程安全,但是又不会有并发问题。如果用普通本地变量要做到每个线程自动有同一个变量的副本。会麻烦很多,也容易出错。不是一定要,而是规范,有保证。