Вопросы по теме 'volatile'

Ссылка на изменчивое поле не будет рассматриваться как изменчивое значение.
Следующий код using System.Threading; class Test { volatile int counter = 0; public void Increment() { Interlocked.Increment(ref counter); } } Вызывает следующее предупреждение компилятора: "A reference to a...
9303 просмотров
schedule 13.05.2022

Когда использовать volatile или Thread.MemoryBarrier() в потокобезопасном коде блокировки? (С#)
Когда я должен использовать volatile/Thread.MemoryBarrier() для безопасности потоков?
7425 просмотров
schedule 07.12.2022

Волатильная переменная
Где хранится изменчивая переменная в памяти программы (в каком разделе)?
29597 просмотров
schedule 16.04.2022

Барьеры памяти и большие структуры?
Допустим, у меня есть структура, состоящая из 100 байтов. Какие гарантии у меня есть по поводу следующего кода? m_myLargeStruct = someValue; // copying 100 bytes Thread.MemoryBarrier(); // Executed by another thread, after "Thread.MemoryBarrier"...
514 просмотров

Почему std::cout преобразует изменчивые указатели в логические?
Если вы попытаетесь cout указать указатель на изменчивый тип, даже изменчивый указатель char, где вы обычно ожидаете, что cout напечатает строку, вместо этого вы просто получите «1» (я думаю, что указатель не нулевой). Я предполагаю, что оператор...
2337 просмотров

Оптимизирует ли armcc энергонезависимые переменные с помощью -O0?
int* Register = 0x00FF0000; // Address of micro-seconds timer while(*Register != 0); Должен ли я объявлять *Register как volatile при использовании компилятора armcc и оптимизации -O0? Другими словами: требует ли оптимизация -O0...
330 просмотров
schedule 06.01.2023

Java: VolatileImage медленнее, чем BufferedImage
Я делаю игру на java и использую BufferedImages для отображения содержимого на экране. У меня были проблемы с производительностью на слабых машинах, на которых должна запускаться игра, поэтому я переключился на VolatileImage, которые обычно работают...
4423 просмотров
schedule 23.10.2023

Java Concurrency: Volatile vs final в каскадных переменных?
is final Map<Integer,Map<String,Integer>> status = new ConcurrentHashMap<Integer, Map<String,Integer>>(); Map<Integer,Map<String,Integer>> statusInner = new ConcurrentHashMap<Integer,...
3893 просмотров

Разница между синхронизацией чтения полей и volatile
В хорошей статье с некоторыми советами по параллелизму пример был оптимизирован до следующих строк: double getBalance() { Account acct = verify(name, password); synchronized(acct) { return acct.balance; } } Если я правильно понимаю,...
1939 просмотров

Модификатор volatile Java и синхронизированные блоки
Нужен ли модификатор volatile для переменной, к которой обращаются несколько потоков, но только внутри синхронизированных блоков? Если нет, то почему?
5648 просмотров

C++ volatile и перегрузка операторов для приложения CUDA
У меня есть класс A, который я перегружаю оператором =. Однако требуется, чтобы мне нужно было сделать что-то вроде этого: volatile A x; A y; x = y; который вызвал ошибку при компиляции error: no operator "=" matches these operands...
3327 просмотров
schedule 13.05.2023

Требуется ли здесь volatile?
EDITED и уточнил мой вопрос после ценного ответа Йоханнеса bool b = true; volatile bool vb = true; void f1() { } void f2() { b = false; } void(* volatile pf)() = &f1; //a volatile pointer to function int main() { //different threads...
400 просмотров
schedule 21.01.2023

очень странная и серьезная проблема несогласованности многопоточности С#
У меня есть очень простая сторожевая программа с двумя потоками. Один поток обновляет длинную переменную, а другой поток читает эту переменную. и предупреждать, если прошло более X секунд с момента последнего обновления. Проблема в том, что иногда...
406 просмотров
schedule 07.01.2023

С ++ volatile требуется при вращении с помощью оператора boost :: shared_ptr bool ()?
Возможный дубликат: Когда использовать volatile с многопоточность? У меня есть два потока, ссылающихся на один и тот же boost::shared_ptr : boost::shared_ptr<Widget> shared; В потоке вращается, ожидая, пока другой...
1757 просмотров

Почему не volatile в System.Double и System.Long?
Вопрос, подобный моему, был задан , но мой немного отличается. Возникает вопрос: «Почему ключевое слово volatile не разрешено в C# для типов System.Double и System.Int64 и т. д.?» На первый взгляд, я ответил своему коллеге: «Ну, на...
9150 просмотров
schedule 09.03.2022

Почему переменная volatile обычно является частной?
У меня есть два класса: класс « MyDerived » происходит от абстрактного базового класса « MyBase ». Также PrimaryDerivedClass также наследует MyBase . Сначала я создаю экземпляр PrimaryDerivedClass , который затем создает экземпляры ' MyDerived...
1052 просмотров
schedule 21.07.2022

Является ли это потокобезопасным?
Я хочу сделать свой класс потокобезопасным без больших накладных расходов. Экземпляры редко будут использоваться одновременно, но это может случиться. Большая часть класса неизменяема, в качестве кеша используется только один изменяемый член:...
569 просмотров
schedule 30.04.2023

является изменчивым, бесполезным на процессорах x86.
Я где-то читал, что процессоры x86 имеют когерентность кеша и могут синхронизировать значения полей между несколькими ядрами в любом случае при каждой записи. Означает ли это, что мы можем кодировать без использования «изменчивого» ключевого слова...
756 просмотров

Считается ли volatile bool для управления потоками неправильным?
В результате моего ответа на этот вопрос я начал читать о ключевом слове volatile и о том, что по нему существует консенсус. Я вижу, что об этом много информации, часть старой, которая сейчас кажется неправильной, и много новой, которая говорит,...
17957 просмотров
schedule 02.09.2022

синхронизированный счетчик в clojure
Если я хочу сохранить глобальный счетчик (например, для подсчета количества входящих запросов в нескольких потоках), то лучший способ сделать это в java - использовать volatile int. Предполагая, что clojure используется, есть ли лучший способ (с...
2248 просмотров
schedule 14.06.2023