腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
对
同一
组
变量
同时
使用
synchronize
(
在
更新
时
)
和
volatile
(
用于
立即
读取
)
是
一种
好
的
实践
吗
?
、
、
、
、
(所有这些都是
在
多线程环境中)我
的
代码中有一个场景,它要求我
更新
类中
的
静态
变量
。现在,根据
变量
的
最新组合,代码可能会进入一个流或另一个流。我
使用
了
synchronize
,只允许一个线程
更新
变量
。因为,我还希望其他线程只注意最近
的
值,所以我也将这两个
变量
声明为
volatile
。我一直
在
阅读这两个关键字
的
不同之处,
浏览 10
提问于2019-02-18
得票数 0
4
回答
同步
的
易失性布尔值是否等于atomicBoolean?
、
、
当我们只
在
变量
上做读操作
时
,应该
使用
易失性,因为一个线程
更新
的
值
对
另一个线程
是
可见
的
,即使前一个线程失去CPU并退出同步块。
对
吗
?当需要
使用
原子行为时,将
使用
原子原语。volatileBoolean;让我们假设volatileBoolean
的
值为真。一个线程检查volatileBoolean为真并进入if block,第二个线程看到vola
浏览 0
提问于2013-06-18
得票数 1
3
回答
易失性
和
线程安全性
、
在
以下代码中, private Map<Integer, String> map = new HashMap<Integer, String>();private
volatile
int index = 0; map.put// (3)
浏览 1
提问于2015-11-23
得票数 1
3
回答
为什么只读和易失性修饰符
是
相互排斥
的
?
、
、
、
、
我有一个引用类型
变量
,即readonly,因为引用永远不会改变,只有它
的
属性。当我试图向其添加
volatile
修饰符
时
,已编译
的
编译器警告我,它不会让这两个修饰符都适
用于
同一
个
变量
。但是我认为我需要它是不稳定
的
,因为我不想在
读取
它
的
属性
时
出现缓存问题。我有遗漏什么
吗
?或者编译器
是
错
的
?正如Martin在下面的注释中所指出
浏览 2
提问于2008-12-28
得票数 9
回答已采纳
5
回答
易失性关键字线程安全
、
、
在
谷歌了很多次之后,我发现了
volatile
关键字
的
多个定义。概念1:有些人说,它不是线程安全
的
,因为它导致了线程竞争条件。因为,线程将易失性
变量
拉到堆栈空间,
对
其进行修改,并
立即
将其放回主存。但是,在这两个线程之间,另一个线程
浏览 0
提问于2018-10-31
得票数 1
2
回答
用于
结构
和
结构集合
的
易失性。
、
、
、
、
我想用网络智慧来澄清.net中有关多线程
的
一些时刻。互联网上有很多关于它
的
东西,但是我没有找到一个
好
的
答案。class Class1
volatile
int state = 0; { get无论线程需要获得当前状态,它都可以
使用
永远不会被缓存<e
浏览 1
提问于2015-03-08
得票数 5
回答已采纳
1
回答
当我
使用
java
同时
进行多个数据库连接
和
查询
时
,我应该
使用
同步
吗
?
、
、
、
当我
使用
java
同时
进行多个数据库连接
和
查询
时
,我应该
使用
同步
吗
?Account_Creation_Scripts.createAccount_Sql_Command());} 上面的方法完成连接到数据库并创建多个帐户
的
工作我
的
计划
是
在
多个自动化测试中(
同时
)
使用
此方法,这些测试将
同时</e
浏览 21
提问于2020-02-06
得票数 0
回答已采纳
2
回答
通过不同
的
线程
同时
读取
和
更改
变量
、
、
、
、
我
对
一个线程正在等待更改while循环中
的
变量
的
情况感兴趣: // do smth它重复了无数次。
同时
,另一个线程更改了这个
变量
的
值:如果这个
变量
不是易失性
的
,那么
读取
器线程能看到
在
另一个线程中更改
变量
值
的
结果
吗
?一般来说,据我所
浏览 1
提问于2013-09-30
得票数 3
回答已采纳
8
回答
Java中
的
易失性与静态
、
、
、
、
static表示所有对象
的
值
的
一个副本,而
volatile
表示所有线程
的
值
的
一个副本,这是正确
的
吗
? 不管怎样,对于所有线程来说,static
变量
值也是一个值,那么为什么我们要
使用
volatile
呢
浏览 4
提问于2010-03-11
得票数 280
回答已采纳
2
回答
Java如何管理易失性字段
的
可见性?
、
、
、
这个Q
是
在
寻找关于Java如何使
volatile
字段可见
的
具体细节。 Java中
的
volatile
关键字
用于
在对
变量
执行写操作后
立即
使该
变量
的
读者“主动”看到该
变量
。这是发生在关系之前
的
一种
形式--使写
的
结果暴露给访问该
变量
的
内存位置的人,以供
使用
。当
使用
时
浏览 2
提问于2014-10-05
得票数 0
回答已采纳
2
回答
Java内存模型同步、易失性锁
和
(盖章)锁
的
交互
、
、
、
在
使用
锁以确保内存可见性
时
,是否需要
volatile
修饰符?为了充分理解并发性、内存可见性
和
执行控制,我遇到了几个消息来源,他们说
在
synchronized块中
更新
的
变量
不需要字段为
volatile
(大部分没有给定
的
源,实际上有一个页面表示需要结合
使用
同步方法
和
波动率字段当接近
时
,我发现:
在
关系发生之前,两种行为都可以被排
浏览 1
提问于2018-09-19
得票数 0
回答已采纳
3
回答
当只
使用
get()
和
set()方法
时
,用原语类型替换AtomicBoolean?
、
、
我
的
代码包含一些AtomicBoolean字段。只有这些字段
的
get()
和
set()方法被调用。 这些字段
的
类型能被原语布尔值安全地替换
吗
?我
的
意思
是
,基本布尔人
的
赋值
和
访问操作
是
Java中
的
原子操作。从这个角度来看,我看不到
在
我
的
情况下
使用
AtomicBoolean
的
任何理由。
在
我
的
理解中,
浏览 8
提问于2017-04-12
得票数 2
回答已采纳
3
回答
理解Java中同步化块与易失性
变量
的
原子性、可见性
和
重排序
、
我在下文逐一讨论了这些问题:书中提到了关于synchronized
的
可见性 易失性
变量
不会缓存在寄存器或缓存中,
在
缓存中
对
其他处理器隐藏它们,因此,
对
易失性<em
浏览 5
提问于2020-04-01
得票数 3
回答已采纳
7
回答
原子/易失性/同步
的
区别是什么?
、
、
、
、
int counter; return counter++;
volatile
int i = 0; i += 5;相当于void incIBy5() { synchronized(i) { temp = i }} 我认为两个线
浏览 2
提问于2012-03-17
得票数 346
回答已采纳
3
回答
在
Java中与易失性字段
和
同步块
的
关系发生之前-以及它们
对
非易失性
变量
的
影响?
、
、
、
线程1
在
写入[
volatile
] ready之前看到
的
内存内容
的
所有,在
读取
ready
的
值true之后,必须对线程2可见。我自己加
的
强调 现在,这是否意味着
在
写入易失性
变量
时
,线程1内存中
的
所有
变量
(易失性或非易失性)将在线程2
读取
该易失
变量
后变得可见?如果
是
这样的话,是否有可能从官方
的
Java
浏览 5
提问于2013-06-14
得票数 54
回答已采纳
5
回答
多个线程写入
同一
个布尔值
、
我正在研究一个图(节点
和
顶点)划分算法。一旦将节点标识为区域
的
一部分,我将节点对象
的
boolean marked设置为true。多个线程可以尝试
同时
标记
同一
个节点。但是,由于我从不
读取
标记
的
值,直到所有线程都完成了处理为止。我能摆脱同步码
吗
?换句话说,当
同时
写入布尔<em
浏览 3
提问于2013-06-04
得票数 5
回答已采纳
2
回答
互锁和易失性
、
、
然而,我
是
从多个线程
读取
它
的
。 我知道
volatile
可以用来确保
变量
不会被缓存在本地,而总是直接从内存中
读取
。但是,如果我将
变量
设置为
volatile
,那么它就会生成一个关于
使用
volatile
并
使用
ref传递给互锁方法
的
警告。我希望确保每个线程都
读取
变量
的
最新值,而不是某个缓存版本,但我不能
使用
vo
浏览 1
提问于2009-07-27
得票数 81
回答已采纳
6
回答
如何在Java中正确
使用
volatile
关键字?
、
假设我有两个线程
和
一个对象。一个线程分配对象: myObject = o;另一个线程
使用
该对象: myObject.use();
变量
myObject必须声明为易失性
吗
?我正在尝试理解何时
使用
易失性,何时不
使用
易失性,这让我感到困惑。第二个线程有没有可能在其本地内存缓存中保留
对
旧对象
的
引用?若否,原因为何? 非常感谢。
浏览 0
提问于2010-06-04
得票数 14
1
回答
在
多线程应用程序中,易失关键字是否由于AtomicXXX
变量
而失去了相关性?
、
、
本质上,这个包中
的
类将易失性值、字段和数组元素
的
概念扩展到那些
同时
提供表单
的
原子条件
更新
操作
的
类。等等,我可以
使用
这些AtomicXXX并慢慢地消除遗留代码中
的
易失性
变量
吗
?编辑: 保留
volatile
用于
不同线程中
的
单次写入
和
多次
读取
操作(我
在
阅读了许多文章后得出
的
结论)、多作者、单读者
浏览 1
提问于2016-05-17
得票数 3
回答已采纳
3
回答
Hibernate源代码中
的
易失性屏障将“与其他线程同步状态”。多么?
、
、
、
、
PersistenceProviderResolver> resolvers = private
volatile
我花了时间研究
volatile
关键字规范。 简单地说,
在
我
的
理解中,它确保
对
相应
变量
的
任何READ或WRITE操作都将直接在通常存储值
的
内存中执行。它特别防止通过缓存或注
浏览 0
提问于2018-04-26
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
volatile关键字的实现原理深度解析
并发编程之多线程三大核心
程序员:不能逃避的synchronize和volatile
volatile关键字
Java并发编程之volatile关键字解析
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券