ThreadLocal 与 线程同步?

_还行_ 2012-07-27 02:06:00
ThreadLocal定义的变量,每一个线程过来,就分配一个变量(其实是一个Map),但是,既然每一个线程都与各自的变量相关,那么,怎么样实现同步呢?比如说,我的Thread1想把x++,然后Thread2想在Thread1操作的基础上执行x--;那么该如何实现呢?
...全文
200 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
_还行_ 2012-07-27
  • 打赏
  • 举报
回复
太霸道了,这样将变量分开,肯定是不会产生互斥的问题了。理解了,谢谢。
[Quote=引用 3 楼 的回复:]

ThreadLocal的本意就是每个线程一份,互不干扰,就是为了避免同步,提高可伸缩性

引用 2 楼 的回复:

也就是说ThreadLocal和synchronized还有Lock这种机制是有区别的(在功能的实现上)?但是,我看的Think in java 里说这种机制也可以解决资源共享的问题。
引用 1 楼 的回复:

那这种情况就不适合用ThreadLocal
[/Quote]
龙四 2012-07-27
  • 打赏
  • 举报
回复
ThreadLocal的本意就是每个线程一份,互不干扰,就是为了避免同步,提高可伸缩性

[Quote=引用 2 楼 的回复:]

也就是说ThreadLocal和synchronized还有Lock这种机制是有区别的(在功能的实现上)?但是,我看的Think in java 里说这种机制也可以解决资源共享的问题。
引用 1 楼 的回复:

那这种情况就不适合用ThreadLocal
[/Quote]
_还行_ 2012-07-27
  • 打赏
  • 举报
回复
也就是说ThreadLocal和synchronized还有Lock这种机制是有区别的(在功能的实现上)?但是,我看的Think in java 里说这种机制也可以解决资源共享的问题。
[Quote=引用 1 楼 的回复:]

那这种情况就不适合用ThreadLocal
[/Quote]
龙四 2012-07-27
  • 打赏
  • 举报
回复
那这种情况就不适合用ThreadLocal

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧