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

Неустойчивые гарантии и исполнение вне очереди
ВАЖНОЕ РЕДАКТИРОВАНИЕ . Я знаю о "происходит до" в потоке, в котором выполняются два назначения , мой вопрос: возможно ли это для другого потока читать «b» не равным нулю, пока «а» все еще равно нулю. Итак, я знаю, что если вы вызываете doIt ()...
9760 просмотров
schedule 18.03.2023

Гарантирует ли Interlocked видимость для других потоков в C # или мне все еще нужно использовать volatile?
Я читал ответ на похожий вопрос , но я все еще немного запутался ... У Абеля был отличный ответ, но я не уверен в этом: ... объявление переменной volatile делает ее изменчивой для каждого отдельного доступа. Невозможно заставить это поведение...
1025 просмотров

Почему квалификатор volatile используется в std::atomic?
Из того, что я прочитал у Херба Саттера и другие вы могли бы подумать, что volatile и параллельное программирование были полностью ортогональными понятиями, по крайней мере, в том, что касается C/C++. Однако в реализации GCC все...
7834 просмотров
schedule 16.07.2023

Почему gcc не удаляет эту проверку энергонезависимой переменной?
Этот вопрос в основном академический. Я спрашиваю из любопытства, а не потому, что это представляет для меня реальную проблему. Рассмотрим следующую некорректную программу на C. #include <signal.h> #include <stdio.h> static int...
882 просмотров
schedule 20.11.2022

ключевое слово volatile на языке C?
У меня вопрос о volatile на языке C. Я прочитал какой-то учебник, но все еще не могу понять, некоторые говорят, что volatile сообщает оптимизатору компилятора, что операции с этой переменной не следует оптимизировать определенным образом. это...
43424 просмотров
schedule 10.06.2023

Влияет ли volatile на неизменяемые переменные?
Хорошо, предположим, у меня есть куча переменных, одна из которых объявлена ​​volatile: int a; int b; int c; volatile int v; Если один поток записывает во все четыре переменные (запись в v в последнюю очередь), а другой поток читает из всех...
1074 просмотров
schedule 28.03.2022

изменчивый массив С++
У меня есть приложение с массивом указателей на MyObject объекты: MyObject **arr; arr= new MyObject*[10]; Приложение имеет два потока, эти потоки будут создавать и удалять new MyObject() в массив arr . Поэтому arr[n] будут все время...
3630 просмотров
schedule 06.12.2022

В чем преимущество volatile в этом случае?
У меня есть следующая реализация функции, которая проверяет указатель NULL. Это часть драйвера Linux, код C: bool is_null_ponter(volatile void* ptr) { return (NULL == ptr)? true : false; } В чем преимущество volatile в этом случае? Почему...
437 просмотров
schedule 14.12.2022

Java volatile и побочные эффекты
Документация Oracle по атомарному доступу (по адресу http://docs.oracle.com/javase/tutorial/essential/concurrency/atomic.html ) говорит следующее: "изменчивая переменная устанавливает отношение "происходит до"... Это означает, что... когда...
1493 просмотров

Почему volatile в Java не обновляет значение переменной?
Я читал, что volatile в Java позволяет разным потокам иметь доступ к одному и тому же полю и видеть изменения, внесенные другими потоками в это поле. Если это так, я бы предсказал, что когда первый и второй поток полностью запустятся, значение d...
619 просмотров
schedule 11.12.2022

Цепные вызовы функций-членов - порядок вызовов
У меня есть большое приложение, содержащее связанные вызовы функций, например: subsystem. do_stuff(cfg().get("x")). do_stuff(cfg().get("y")); Здесь subsystem — объект типа класса: struct Sybsystem { Sybsystem&...
819 просмотров

Как понять, что переменная не участвует в инвариантах с другими переменными состояния при использовании ключевого слова volatile?
Из книги "Параллелизм Java на практике", стр. 26: Вы можете использовать изменчивые переменные, только если соблюдены все следующие критерии: Запись в переменную не зависит от ее текущего значения, или вы можете гарантировать, что только один...
1045 просмотров
schedule 03.06.2022

volatile и постоянный указатель
Я видел этот фрагмент кода const volatile int * volatile * const X; но я не могу понять, что означает второй *. Я это понимаю const volatile int * volatile const X; означает volatile const целочисленный указатель на volatile const...
1075 просмотров
schedule 19.07.2023

летучая перегрузка?
Я слышал, что volatile является фактором перегрузки, как const. Если функция перегружена volatile-параметром, когда вызывается volatile-версия? Я не могу представить ситуацию, когда вызывается volatile-версия.
1437 просмотров
schedule 28.04.2023

Встроенный ассемблер для функции-оболочки по какой-то причине не работает
Я пытаюсь написать функцию-оболочку для системного вызова read(), используя asm volatile, но это не сработает, так как res не меняет своего значения. Вот код: ssize_t my_read(int fd, void *buf, size_t count) { ssize_t res;...
463 просмотров
schedule 15.01.2023

Почему метамодель, созданная JPA 2.0, делает поля VOLATILE?
Новая функция для безопасных типов запросов создает метамодель для классов, но почему эти поля не являются окончательными, а не изменчивыми? public static volatile SingularAttribute<Presentation, String> topic;
338 просмотров
schedule 22.08.2022

Многопоточный доступ и переменный кеш потоков
Я мог бы найти ответ, если бы прочитал полную главу / книгу о многопоточности, но мне бы хотелось получить более быстрый ответ. (Я знаю, что этот вопрос о переполнении стека похож на , но недостаточно.) Предположим, есть этот класс: public...
3136 просмотров
schedule 21.07.2023

энергонезависимые переменные
Если я помечаю переменную как volatile, я получаю гарантированное чтение при каждом доступе к коду. Но как насчет энергонезависимых переменных? Гарантируется ли по крайней мере одно чтение для каждой функции/блока, или значение можно...
995 просмотров
schedule 24.09.2022

Пример кода C, который демонстрирует volatile при дизассемблировании?
Что представляет собой короткая иллюстративная программа на C, демонстрирующая разницу между энергозависимой и энергонезависимой при дизассемблировании? ie int main() { volatile int x; ??? } vs int main() { int x;...
287 просмотров
schedule 26.07.2022

Пример ошибки согласованности памяти при использовании ключевого слова volatile?
Из документов: Использование volatile-переменных снижает риск ошибок согласованности памяти. Но это означает, что иногда volatile переменные работают некорректно? Странно, как это можно использовать - на мой взгляд, это очень плохой код,...
1856 просмотров