为了账号安全,请及时绑定邮箱和手机立即绑定

ThreadLocal和synchronized的区别?

ThreadLocal和synchronized的区别?

慕田峪9129951 2018-04-09 08:43:08
查看完整描述

3 回答

?
zzZerOrz

TA贡献101条经验 获得超28个赞

ThreadLocal存放的变量是该线程里的局部变量,synchronized操作的是各个线程的共享变量。

查看完整回答
反对 回复 2018-04-10
?
千岁不倒翁

TA贡献10条经验 获得超3个赞

比如说一个变量使用ThreadLocal修饰,则在线程中会创建这个变量的副本进行操作.操作不会受另外一个线程影响.
synchronized 使用了内部锁, 没次只有一个线程进行操作, 其他线程阻塞. 等待获得锁的线程释放.

查看完整回答
反对 回复 2018-04-10
?
慕仔4209126

TA贡献10条经验 获得超1个赞

ThreadLocal 就是把变量分成很多个拷贝,每个线程拥有一个。
这里没有所谓的最后的结果,每个线程单独操作自己的变量,和其他的变量没关系。
你就理解成都是各干各的,如果说真要用到跟最终结果有关系,还是老老实实用synchronized

查看完整回答
反对 回复 2018-04-09
  • 3 回答
  • 0 关注
  • 1145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信