Java: Threadlocal 和 run() 方法里的 局部变量有什么区别?
1
leejanfin 2017-04-01 00:01:44 +08:00 via iPhone
个人感觉 从某种程度上来说 区别不大 只是让代码更加优雅一些
|
2
SoloCompany 2017-04-01 01:02:29 +08:00
ThreadLocal 本质上是一个全局变量,只不过保证了对每个不同线程的局部性,当然和真正的局部变量有本质上的不同
ThreadLocal 要解决的问题也是全局变量所解决的问题,无法深层次传递参数的时候的一种解决方案 一般而言,对于代码可读性来说 显式传递参数 > 依赖注入 > ThreadLocal or static |
3
q397064399 2017-04-01 07:35:54 +08:00 via iPhone
大项目才能看出来
|
4
miaoever 2017-04-01 08:57:42 +08:00
当然不一样。 run() 方法局部变量的生命周期和 Threadlocal 是完全不同的。
|