这个 MSDN CompareExchange 示例如何不需要易失性读取?
我正在寻找使用支持按任意值递增的 Interlocked 的线程安全计数器实现,并直接从 Interlocked.CompareExchange 文档(为简单起见略有更改): private…
为什么将变量声明为 volatile 会加快代码执行速度?
有什么想法吗?我在 PPC750 上使用 GCC 交叉编译器。在循环中对两个浮点数进行简单的乘法运算并计时。我将变量声明为易失性,以确保没有优化任何重要…
在 C++ 中,访问易失性局部变量不是从函数外部访问的可观察行为吗?
在 C++03 标准可观察行为 (1.9/6) 中包括读取和写入易失性数据。现在我有这样的代码: int main() { const volatile int value = 0; if( value ) { } …
是“不稳定”的吗?在这种情况下需要关键字吗? (爪哇)
我有以下代码,它被初始化为类中的静态变量: public class MyXlet extends Xlet { boolean connected = false; ... void connect() { // some code g…
在Java中,更改对并发读取的HashMap的引用是否安全
我希望这不是一个太愚蠢的问题... 我的项目中有类似于以下内容的代码: public class ConfigStore { public static class Config { public final Stri…
Java 线程/易失性
我有一个线程: class Foo extends Thread { boolean active = true; public void run() { while(active) { //do stuff } } public void end() { acti…
写入易失性变量后会发生什么?
我想知道写入易失性变量是否会强制jvm将所有非易失性变量同步到内存,例如,以下代码中会发生什么: volatile int x; int y; y=5; x=10; x将被写入内…
类型 将 volatile char 转换为寄存器 char 类型
我的 C 代码中收到额外警告。 警告 #2513-D:“volatile char *”类型的值不能分配给“char *”类型的实体 A = B; 当我检查我的代码时,我发现 A 和 …
Java中的可见性问题是由JVM还是硬件引起的?
以前我认为可见性问题是由CPU Cache 引起的性能问题。 但我看到这篇文章: http://www.ibm.com /developerworks/java/library/j-5things15/index.html…
Windows+VisualC 上的易失性读取和写入是原子的吗?
该网站上有几个问题询问是否可以使用 易失性 变量进行原子/多线程访问:请参阅此处,此处,或此处。 现在,符合 C(++) 标准的答案显然是否。 但是,在…
如果我将一个实例变量声明为 易失性的,那么该类的对象也会是易失性的吗?
比如: class A { volatile int i; }; A a; 我的问题是整个a都会成为合格的简历吗?可能是一个天真的问题。…