45张图!ThreadLocal的最牛辨析!

与Synchonized的比较,它的作用是什么

ThreadLocal和Synchonized都用于解决多线程并发访问。可是ThreadLocal与Synchronized有着本质的区别。Synchronized是利用锁的机制,使变量或代码代码块在某一个时刻仅仅能被一个线程访问。
从名字我们就可以看到ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。
从字面意思非常容易理解,但是从实际使用的角度来看就没那么容易了。作为一个面试常问的点,使用场景那也是相当的丰富。
在进行对象跨层次传递的时候,使用ThreadLocal可以避免多次传递,打破层次间的束缚
线程间层次隔离
进行事务操作,用于存储线程事务信息
数据库连接,Session会话管理
现在应该对ThreadLocal已经有一个大概的认识了。下面看看具体如何使用。点击链接阅读原文:45张图!ThreadLocal的最牛辨析!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值