社区
Java
帖子详情
JAVA ThreadLocal能实现线程同步吗
万物皆字节
2017-08-23 07:30:59
最近在网上搜索了一些关于实现同步的方案,有很多帖子说的是用ThreadLocal能实现同步;原理是每一个线程会复制一份主线程中设置的变量,然后各个线程分别操作这些变量;
我在想这叫同步吗?
我理解的同步是
1、执行有先后
2、不产生同时操作同一变量的情况
我觉得网上说的ThreadLocal实现线程同步好难理解,不知道是不是我理解错了。
...全文
322
3
打赏
收藏
JAVA ThreadLocal能实现线程同步吗
最近在网上搜索了一些关于实现同步的方案,有很多帖子说的是用ThreadLocal能实现同步;原理是每一个线程会复制一份主线程中设置的变量,然后各个线程分别操作这些变量; 我在想这叫同步吗? 我理解的同步是 1、执行有先后 2、不产生同时操作同一变量的情况 我觉得网上说的ThreadLocal实现线程同步好难理解,不知道是不是我理解错了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
万物皆字节
2017-08-23
打赏
举报
回复
是的,应该这样的设计目的是保证线程内数据安全,不是为了同步设计的;这几天一直在纠结这个问题,还以为自己理解错了 看到这样的解答我就放心了;
cdglynn
2017-08-23
打赏
举报
回复
用ThreadLocal存储线程实例私有的数据,不会被其他实例所访问。线程同步是指多线程协作或控制,单纯说ThreadLocal实现线程同步是不准确的。
maradona1984
2017-08-23
打赏
举报
回复
ThreadLocal又不难,自己点进去看他的实现不就行了.... 简单说就是一个用当前线程对象为key的map... 是否多线程操作,那看你保存的对象是否能被多个线程可见,比如1线程保存一个全局对象进入ThreadLocal,2线程也保存该对象进入ThreadLocal,这样其实没啥意义,ThreadLocal设计初衷就是线程独享数据,所以要避免保存可被多个线程可见的对象
Java
高效并发(十一)----无同步方案
实现
线程安全
ThreadLocal
本文介绍了
ThreadLocal
类的使用方法及其
实现
原理,包括如何利用
ThreadLocal
实现
线程安全,以及
ThreadLocal
Map的内部结构和内存管理。
ThreadLocal
实现
解析
本文深入解析了
Java
中的
ThreadLocal
类,阐述其如何通过为每个线程提供独立的数据副本来解决多线程环境下的数据同步问题。文章详细介绍了
ThreadLocal
的内部
实现
机制,包括其泛型特性、常用方法、
ThreadLocal
Map的结构及工作原理,并提到了
ThreadLocal
在Android系统中确保每个线程拥有独立Looper的应用案例。
ThreadLocal
如何
实现
多线程资源共享
ThreadLocal
为每个线程提供独立的局部变量副本,避免并发导致的数据不一致,简化
线程同步
。它不是线程的本地
实现
,而是线程局部变量。在
Java
Web编程中,
ThreadLocal
不直接与session关联,而是与线程关联。使用
ThreadLocal
需要注意线程池可能导致的不同用户访问同一线程的情况,以防止数据污染。
java
如何理解线程安全_什么是线程安全以及如何
实现
?
本文深入探讨了
Java
中
实现
线程安全的各种方法,包括无状态
实现
、不可变性、
ThreadLocal
、同步集合、并发集合、原子类等。通过具体示例讲解了如何避免多线程环境下的竞态条件。
理解
ThreadLocal
本文详细介绍了
ThreadLocal
类在
Java
中的用途及
实现
原理,包括其提供的核心方法、如何为每个线程提供独立的变量副本,以及与同步机制的区别。此外,还展示了如何使用
ThreadLocal
解决线程安全问题,并给出具体示例。
Java
51,407
社区成员
86,107
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章