volatile 相关问题

Volatile是一个限定符,用于定义“可以自行更改”的数据存储区域(对象,字段,变量,参数),从而禁止某些代码生成器优化。在某些但不是所有识别此限定符的语言中,对此类数据的访问是线程安全的。

Java中的易失性与静态性

是否正确的说静态意味着所有对象的值的一个副本,而volatile意味着所有线程的值的一个副本?无论如何,静态变量值也将是一个值......

回答 8 投票 251

线程,volatile变量不更新

我环顾四周,似乎有类似的代码但是我的工作没有用。我的volatile变量是在类时钟中进行转换,但是我的类vistor没有获得更改的变量。我会发布我的代码。如果...

回答 1 投票 1

std :: copy指向易失性数据的指针

假设我有一个指向volatile数据的输入和输出指针.....我尝试在它们上使用std :: copy:uint32_t volatile * input = / * * /; uint32_t volatile * output = / * * /;性病::复制(输入,输入+ ...

回答 1 投票 1

这些挥发性限定符用法都是多余的吗?

考虑volatile int volatile * volatile vip; //(1)和volatile int volatile * volatile vipa [10]; //(2)两行代码触发-Wduplicate-decl-specifier(参见rev 236142和gcc7 release ...

回答 2 投票 5

哪里用volatile? [重复]

我读过volatile关键字,但我不知道在什么情况下我应该使用它。当内存(变量)得到更新并且进程没有意识到这一点?在什么情况下司机应该使用......

回答 6 投票 7

volatile和多线程同步不起作用[重复]

公共类VolatileDemo实现Runnable {private static volatile int count = 0; private Random random = new Random(); public static void main(String [] args){for(int i = 0; i <1000; i ++){...

回答 1 投票 2

在C中正确使用volatile关键字

我是C的初学者,我遇到了以下代码:#include“stdio.h”unsigned int ReturnSquare(void); int main(void){int k; int * mPtr; mPtr =(int *)0x1234; * mPtr = 10; k =(...

回答 3 投票 -1

GCC 8无法编译make_shared ()

这段代码编译得很干净,适用于我尝试过的所有编译器,除了GCC 8(和当前的GCC主干):std :: make_shared (0)我想知道:GCC 8是否正确拒绝......

回答 1 投票 3

挥发性使用会降低性能

当我遇到这个声明时,我正在阅读有关volatile的信息,使用volatile和synchronize关键字会降低整体性能,因此下面的代码可以创建一个单例类...

回答 2 投票 1

如何访问const volatile std :: array?

我正在尝试创建一个volatile数组,我需要使用operator []访问它。我发现没有办法为std :: array做到这一点,但内置数组工作正常。使用GCC 8.2.0以下内容:#include&...

回答 2 投票 0

Server EndPoint for WebSocket Java API中的易变变量?

查看Web上的其他示例,当通过Java API for WebSocket创建服务器端点时,所有EndPoint实例之间的共享变量被定义为静态,但不是......

回答 1 投票 1

C#可以写指令从finally块重新排序到try块吗?

在一篇关于具有乐观重试的可伸缩读写器方案的文章中,有一个代码示例:using System;使用System.Threading;公共类OptimisticSynchronizer {private volatile ...

回答 1 投票 1

如何使volatile count操作成为线程安全的

我一直在经历JCIP,作者在那里说。线程限制的一个特例适用于volatile变量。在共享volatile上执行读 - 修改 - 写操作是安全的......

回答 4 投票 3

优化volatile变量

我的理解是C ++标准要求严格根据抽象机器的规则来评估对易失性对象的访问。我相信这意味着......的数量......

回答 1 投票 1

在c ++中void * volatile *的含义是什么?

我正在查看以下代码:inline void * interlocked_read_acquire(void * volatile * x);并且我想知道为什么不仅仅是一个挥发性的虚空*作为一个论点。一般来说什么是语义或......

回答 4 投票 21

如何避免在Java中使用volatile

我有两个线程共享boolean类型的相同变量。我发现我必须使用volatile来保证始终从主内存中读取值。但现在我想摆脱这个......

回答 2 投票 -4

易变成员变量[重复]

我正在使用C ++ 11,我遇到了一个带有volatile变量的类,它提出了一个问题:问题1:如果一个成员变量在一个类函数中设置并在另一个类中轮询...

回答 2 投票 3

使用volatile作为寄存器

我想知道挥发性声明的效率是多少。在以下代码中:volatile char var1 = *(volatile char *)0x2000000; printf(“%d \ n”,var1 + 1);这意味着每次我...

回答 2 投票 1

c# - 易失性关键字使用与锁定

我已经使用了volatile,我不确定它是否有必要。我很确定锁定在我的情况下会有点过分。阅读这个帖子(Eric Lippert评论)让我对我对volatile的使用感到焦虑:...

回答 5 投票 29

.NET中双重检查锁定需要volatile修饰符

多个文本说,当在.NET中实现双重检查锁定时,您锁定的字段应该应用volatile修饰符。但为什么呢?考虑以下示例:public ...

回答 8 投票 79

© www.soinside.com 2019 - 2024. All rights reserved.