腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
为什么使用
原子
变量访问比通过同步代码访问这些变量更有效?
、
、
、
、
我对
Java
很陌生,我正在努力学习
原子
访问的概念。我从
Java
教程Oracle中看到了下面的声明。我的问题是: 我现在很难把头挪开。与通过同步代码访问这些变量相比,使用简单的
原子
变量访问效率更高,但程序员需要更加小心,以避免
内存
一致
性
错误。额外的努力是否值得取决于应用程序的大小和复杂<e
浏览 2
提问于2016-02-18
得票数 1
回答已采纳
1
回答
顺序一致的
内存
和
原子
寄存器
、
、
、
序列一致
性
(适用于无数据竞争程序,SC-DRF)是现代编程语言(如
Java
或C++11)提供的最强的共享
内存
一致
性
模型。 在“多处理器编程的艺术”中,作者(M. Herlihy和N.Shavit)在本书的大部分定理中使用了
原子
寄存器的概念。正确的说法是,
Java
中的volatile引用和std::memory_order seq_cst中的C++中的
原子
引用是(与)
原子
寄存器(无法区分)吗?如果C++的存储模型保证在标记为std::atomic的整个<
浏览 1
提问于2016-04-28
得票数 0
1
回答
Jython线程安全如何应用于
Java
Swing?
、
、
我想知道Jython的
内存
模型如何应用于创建
Java
Swing应用程序。这个说明,“读取或替换单个实例属性”是一个
原子
操作。这也适用于Jython中使用的
Java
对象吗? Jython的
内存
模型是否改变了在Swing应用程序中处理并发的方式?
浏览 0
提问于2015-03-14
得票数 2
3
回答
为什么要定义
Java
内存
模型?
、
、
、
、
Java
的多线程代码最终被映射到操作系统线程上执行。为什么要使用
Java
内存
模型来确保线程安全?为什么要定义
Java
内存
模型?web上的材料都是关于
原子
性
、可见性、有序
性
的,并以缓存一致
性
模型为例,但我认为它并没有真正回答这个问题。 非常感谢!
浏览 7
提问于2020-05-27
得票数 1
2
回答
expected==update时的compareAndSet
内存
效果
、
、
Java
通过其
原子
类公开CAS操作,例如当expected == update时,这些调用是否是无操作的,或者它们仍然具有易失
性
read+write的
内存
一致
性
影响(就像expected !
浏览 0
提问于2012-09-19
得票数 3
回答已采纳
2
回答
Java
中的
原子
性
和
内存
顺序
、
、
、
、
我对
Java
很陌生,目前正在阅读“
Java
:初学者指南”第6版。我在
Java
中遇到了一些关于
原子
性
和
内存
顺序的困惑。在涉及多线程的书中,对共享资源(例如共享变量)的并发访问不是同步的,共享资源也没有被特别标记(例如,
原子
或易失
性
的或类似的东西)。根据,即使没有特别标记,
Java
中的某些数据类型也保证是
原子
的。这在一定程度上解决了
原子
性
的考虑。但是记忆顺序呢?默认处理是否意味着顺序一
浏览 2
提问于2015-08-12
得票数 3
回答已采纳
2
回答
Go中的
原子
操作是否确保其他变量对其他线程可见?
、
、
"hello, world"} l.Lock() l.Lock()}我的问题是,如果
原子
AddInt32,CompareAndSwapInt32会造成
内存
障碍,如果
浏览 14
提问于2021-03-23
得票数 5
回答已采纳
1
回答
事务期间断电时重置
java
卡小程序
、
、
、
我是一个新的
Java
卡开发人员,我想知道如何在事务处理过程中丢失电源时处理事务。我想知道是否有办法在电源丢失时内部复位,或者从卡终端上删除
java
卡。在我的
Java
卡小程序中,我没有成功地尝试: Util.arrayCopyNonAtomic
浏览 2
提问于2013-08-21
得票数 0
回答已采纳
1
回答
线程同步:如何保证写入的可见性
、
、
、
、
在软、硬件
内存
模型、
内存
栅栏、存储/负载重排序等方面已经有了大量的信息,但似乎都集中在保证共享
内存
读写的相对有序
性
上。store value3store dataWritten (true) 根据我所读过的大多数
内存
模型,
内存
屏障保证任何其他线程都不能将dataWritten视为真,而仍然读取陈旧的值1、2或3,即使这些写入具有
原子
性
。在
内存
浏览 0
提问于2012-10-22
得票数 2
回答已采纳
1
回答
影响其他非易失变量
内存
一致
性
的
Java
易失
性
变量
、
、
、
、
写入易失
性
变量场景BB2。将所有非易失
性
变量从主存重新加载到本地
内存
。 (使用
Java
1.8/ 1.5+)
浏览 3
提问于2017-05-01
得票数 1
回答已采纳
2
回答
Threading.Volatile.Read(Int64)与Threading.Interlocked.Read(Int64)的差异?
、
、
、
具体而言,在(a)
原子
性
和(b)
内存
排序方面,它们各自的保证/行为是什么。..。读取的值。特别令人困惑的是,Volatile文档不讨论
原子
性
,而Interlocked文档则不讨论排序/
内存
障碍。
浏览 0
提问于2019-08-15
得票数 13
回答已采纳
5
回答
在阅读器/写入器场景中,我需要将这两个变量都设为易失
性
吗?
、
、
另一个是共享这两个变量的写入器线程:boolean ready} if (ready) { ready = false;} 我需要让这两个变量都是易失
性
的吗基于我对
java
内存
模型的有限理解,我认为我只需要在读/写“ready”变量之前-在读/写“ready”变量之后的代码之前,让“rea
浏览 3
提问于2015-02-25
得票数 1
6
回答
易失
性
关键词和
内存
一致
性
错误
、
、
在oracle文档 中,如下所述:
原子
动作不能交织在一起,所以可以不用担心线程干扰就可以使用它们。但是,这并不能消除所有同步
原子
操作的需要,因为
内存
一致
性
错误仍然是可能的。使用易失
性
变量降低了
内存
一致
性
错误的风险,因为对易失
性
变量的任何写入都会在与该变量随后读取的关系之前发生。这意味着对易失
性
变量的更改对其他线程总是可见的。此外,它还意味着当线程读取易失
性
变量时,它不仅会看到对易失
性
的最新更改,
浏览 0
提问于2014-06-30
得票数 7
回答已采纳
1
回答
为什么我要使用‘易挥发’而不是总是使用‘
原子
’?
、
我知道两者在可见性和确保
原子
访问和
原子
操作方面的不同。但是我想知道,例如,如果我只需要使用易失
性
,而
原子
是不必要的,那么使用易失
性
是否有优势(可能是
内存
或效率方面的)?或者我可以直接用
原子
代替?
浏览 5
提问于2022-02-08
得票数 0
4
回答
设置来自不变的副本不受线程损坏的安全吗?
、
、
、
、
但是,这种分配线程安全--即字段的值不能处于不一致的状态--因为新对象对字段的引用的分配是
原子
的吗? 我想把这
浏览 9
提问于2014-01-10
得票数 0
1
回答
关于同一
原子
变量的std::memory_order_relaxed
原子
性
、
、
、
、
关于
内存
顺序的cppreference说 放松
内存
排序的典型用途是递增计数器,例如std::shared_ptr的引用计数器,因为这只需要
原子
性
,而不需要排序或同步(注意,减少shared_ptr计数器需要与析构函数进行获取释放同步这是否意味着轻松的
内存
排序实际上不会导致同一变量的
原子
性
?而是导致最终与其他轻松
内存
负载和/或compare_exchange的一致
性
?memory_order_seq_cst将是在与std::
浏览 2
提问于2018-01-06
得票数 7
回答已采纳
4
回答
在
java
4和
java
5中使用易失
性
关键字
在volatile keyword和
java
4中使用
java
5有什么区别?
java
4 或也是这样吗?从
java
5开始有效吗?
浏览 3
提问于2012-04-26
得票数 7
回答已采纳
3
回答
在什么情况下,它需要在
原子
字段中使用易失
性
关键字?
、
、
、
、
在什么情况下,它需要在
原子
字段中使用易失
性
关键字?或者如果字段是
原子
的*关键字易失
性
是多余的? 谢谢
浏览 0
提问于2018-07-12
得票数 0
回答已采纳
1
回答
在CompareAndSwap,AtomicInteger.incrementAndGet()比较什么?
、
、
、
我知道CompareAndSwap是在
java
并发中的AtomicInteger.incrementAndGet()等方法的掩护下使用的,它的工作就像无止境的循环,直到它成功并阻塞了它的线程 它将
内存
位置的内容与给定值进行比较,并且只有在它们相同的情况下,才将该
内存
位置的内容修改为新的给定值。这是作为一个单一的
原子
操作。
原子
性
保证新值是基于最新信息计算的;同时,如果该值由另一个线程更新,则写入将失败。操作的结果必须表明它是否执行了替换;这可以通过简单的布尔响应(此变体通常称为比较集)来
浏览 0
提问于2018-10-01
得票数 1
回答已采纳
1
回答
原子
访问C++11和OpenMP中的非
原子
内存
位置?
、
、
、
OpenMP与C++11不同,它从
内存
操作的角度(而不是从变量的角度)处理
原子
性
。例如,它允许在编译时对存储在未知大小的向量中的整数使用
原子
读/写:我理解C++不允许通过
原子
<em
浏览 4
提问于2016-02-28
得票数 8
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Java并发编程:AQS的原子性如何保证
Java并发编程之验证volatile不能保证原子性
Java中volatile的使用,只能保证变量的可见性,不能保证原子性
Java内存模型、JVM内存模型及Java对象模型-JAVA成长之路
Java并发编程之原子变量
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券