社区
Java
帖子详情
JAVA ThreadLocal能实现线程同步吗
万物皆字节
2017-08-23 07:30:59
最近在网上搜索了一些关于实现同步的方案,有很多帖子说的是用ThreadLocal能实现同步;原理是每一个线程会复制一份主线程中设置的变量,然后各个线程分别操作这些变量;
我在想这叫同步吗?
我理解的同步是
1、执行有先后
2、不产生同时操作同一变量的情况
我觉得网上说的ThreadLocal实现线程同步好难理解,不知道是不是我理解错了。
...全文
291
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
无锁化线程封闭
实现
主要介绍了
Java
中的
线程同步
与
ThreadLocal
无锁化线程封闭
实现
,Synchronized关键字与
ThreadLocal
变量的使用是
Java
中线程控制的基础,需要的朋友可以参考下
java
中
ThreadLocal
本地线程和同步机制的比较
主要介绍了
java
中
ThreadLocal
本地线程和同步机制的比较的相关资料,需要的朋友可以参考下
2023最新,最全,最细的JUC多线程并发教程
紧接着由线程安全问题引出
Java
提供的两个解决线程安全问题的关键字:volatile 和 synchronized ,并带你们从 hotspot 源码层面详细分析了这两个关键字的
实现
流程。接着就是 Unsafe、CAS、LockSupport、
ThreadLocal
...
ThreadLocal
实战之数据库执行器
线程同步
近来,在框架中获取数据库执行器时,一直通过参数传递,颇觉繁琐,且不符合设计常理。 故而,思虑片刻,欲将其融入至笔者框架内置的“RequestAttributes”对象中。
Java
中多
线程同步
的6种方式和
ThreadLocal
网上有些资料将使用
ThreadLocal
也定义为多
线程同步
的一种方式,但是多
线程同步
的前提是变量共享。
ThreadLocal
并不是为了解决多线程间共享变量的问题。举个例子,在一个电商系统中,用一个Long型变量表示某个商品的库存量,多个线程需要访问库存量进行销售,并减去销售数量,以更新库存量。在这个场景中,是不能使用
ThreadLocal
类的。 ...
Java
50,523
社区成员
85,601
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章