社区
尹成的课程社区_NO_2
go轻量级分布式与微服务
帖子详情
原子变量解决线程安全
尹成学院
2023-01-13 01:37:11
课时名称
课时知识点
原子变量解决线程安全
原子变量解决线程安全
...全文
103
回复
打赏
收藏
原子变量解决线程安全
课时名称课时知识点原子变量解决线程安全原子变量解决线程安全
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Java.Concurrency.in.Practice.pdf
Java.Concurrency.in.Practice.pdf
java:使用
原子
变量
实现线程同步(附带源码)
java:使用
原子
变量
实现线程同步(附带源码)
关于
变量
的
线程安全
问题
Hashtable中,单独的get和put都是
线程安全
的,但组合起来使用,则不保证
线程安全
,因为get和put之间不是
原子
的,可能发生上下文切换。如果多线程下使用集合,除了上面的Vector和HashTable,还可以使用Collections的下列方法,把普通的集合类变成
线程安全
的集合类。String、Integer类都是不可变类,因此它们的方法都是
线程安全
的,修改内容后会返回一个新的对象,而不会修改原始对象的值。需要
线程安全
时使用左边的,不需要时使用右边的,同一行的用法是一样的。
什么是
原子
变量
在多线程程序中,多个线程可能会同时访问和修改同一个
变量
。例如,两个线程都想给一个计数器加1,如果没有妥善处理,就可能出现“丢失更新”的情况:两个线程都读取到相同的数值,然后都+1,最后就只有一个加了1,实际上应该加了2。
原子
变量
就像“神奇的
变量
”,保证在多个线程同时操作时,每次操作都完整、不可被打断,就像是一只看得见的透明“锁”,不让其他操作干涉。
原子
变量
确保在多线程环境下,每次读/写操作都是完整不可中断的,避免竞态条件。内容说明
原子
变量
(Atomic)
线程安全
--线程
原子
性
一、
线程安全
概念 临界区:关键部分代码段在多线程并发执行,会对执行结果影响。 竞态条件:多线程访问下,在临界区的特殊条件导致不安全的问题。 共享资源:多线程并发访问的资源。 栈封闭:不会在线程之间共享
变量
,ThreadLocal保证
线程安全
的原理。 局部
变量
:引用本身不会共享,方法内创建的对象不会在线程间传递的话也
线程安全
的。 不可变对象:不提供修改的(对象状态唯一)方法,即使共享了也是
线程安全
的。 二、
原子
操作 1.
原子
操作概念
原子
操作:一系列的操作步骤,顺序不可以打乱,也不可以的切割只执行一部分。 存
尹成的课程社区_NO_2
1
社区成员
1,571
社区内容
发帖
与我相关
我的任务
尹成的课程社区_NO_2
尹成学院
复制链接
扫一扫
分享
社区描述
尹成学院
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章