社区
Java
帖子详情
2020-12-10:i++是原子操作吗?为什么?
福大大架构师每日一题
2020-12-10 01:27:26
2020-12-10:i++是原子操作吗?为什么?#福大大架构师每日一题#
...全文
1676
8
打赏
收藏
2020-12-10:i++是原子操作吗?为什么?
2020-12-10:i++是原子操作吗?为什么?#福大大架构师每日一题#
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
舒泱
2020-12-11
打赏
举报
回复
不是原子操作。
ykcombaty
2020-12-11
打赏
举报
回复
你们说的什么意思,意思是说这玩意儿线程不安全?java里不会这样吧?
kill000000
2020-12-11
打赏
举报
回复
单片机里面是原子操作?
prefectjava
2020-12-11
打赏
举报
回复
原子是不可分割的, i++ 是可分割的 非原子操作,也就是线程不安全的 想实现原子性 用java.util.concurrent.AtomicInteger 这个代替 lnteger
冰思雨
2020-12-11
打赏
举报
回复
不是原子操作。 因为:i++分为三个阶段: 1. 内存到寄存器 2. 寄存器自增 3. 写回内存 这三个阶段中间都可以被中断分离开.
韩_师兄
2020-12-10
打赏
举报
回复
学习了。之前只知道不用管类型的转换。
光阴易逝莫负韶华
2020-12-10
打赏
举报
回复
不是原子操作。
理由:
i++分为三个阶段:
内存到寄存器
寄存器自增
写回内存
这三个阶段中间都可以被中断分离开.
明白畅达
2020-12-10
打赏
举报
回复
不是, i++分为三个阶段: 内存到寄存器 寄存器自增 写回内存 这三个阶段中间都可以被中断分离开
int i =1 是
原子操作
吗?i
++
是
原子操作
吗?
int i =1 是
原子操作
吗?i
++
是
原子操作
吗?int i =1 是
原子操作
吗?i
++
是
原子操作
吗? int i =1 是
原子操作
吗?i
++
是
原子操作
吗?
原子操作
(atomic operation)指的是由多步操作组成的一个操作。如果该操作不能原子地执行,则要么执行完所有步骤,要么一步也不执行,不可能只执行所有步骤的一个子集。 现代操作系统中,一般都提供了
原子操作
来实现一些同步操作,所谓
原子操作
,也就是一个独立而不可分割的操作。在单核环境中,一般的意义下
原子操作
中线程不会被切换,线程切换要么在
原子操作
i
++
是原子性操作吗?
测试用例 package com.druid.app.model; import java.util.concurrent.atomic.AtomicLongFieldUpdater; /** * i
++
非原子性操作的处理:CAS */ public class CASTest { public volatile long count = 0L; public volatile long loopNum = 0; public static void main(Str
i
++
是否是
原子操作
?
i
++
不是
原子操作
,原因是: i
++
操作分为三个阶段(读、改、写): 内存到寄存器 寄存器自增 写回内存 这三个阶段可以被中断分离。 List 什么是操作系统的“
原子操作
”
原子操作
是不可分割的,在执行完毕不会被任何其它任务或事件中断,分为两种情况(两种都应该满足) (1) 在单线程中, 能够在单条指令中完成的操作都可以认为是"
原子操作
",因为中断只能发生于指令之间。 (2) 在多线程中,不能被其它进程(线程)打断的操作就叫
原子操作
。 面试的时候经常问的一道题目是i
++
在两个线程里边分别执.
i
++
是
原子操作
吗?怎么保证其原子性
i
++
是
原子操作
吗?怎么保证其原子性 i
++
不是
原子操作
,因为有多个步骤,为了保证其原子性,可以使用AtomicInteger类的getAndIncrement()方法实现i
++
我们先来看一下getAndIncrement的源代码: * public final int getAndIncrement() { * f
Java
51,411
社区成员
86,007
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章