Вопросы по теме 'volatile'
Неустойчивые гарантии и исполнение вне очереди
ВАЖНОЕ РЕДАКТИРОВАНИЕ . Я знаю о "происходит до" в потоке, в котором выполняются два назначения , мой вопрос: возможно ли это для другого потока читать «b» не равным нулю, пока «а» все еще равно нулю. Итак, я знаю, что если вы вызываете doIt ()...
9760 просмотров
schedule
18.03.2023
Гарантирует ли Interlocked видимость для других потоков в C # или мне все еще нужно использовать volatile?
Я читал ответ на похожий вопрос , но я все еще немного запутался ... У Абеля был отличный ответ, но я не уверен в этом:
... объявление переменной volatile делает ее изменчивой для каждого отдельного доступа. Невозможно заставить это поведение...
1025 просмотров
schedule
01.04.2022
Почему квалификатор 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 просмотров
schedule
21.09.2022
Почему 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 просмотров
schedule
28.11.2022
Как понять, что переменная не участвует в инвариантах с другими переменными состояния при использовании ключевого слова 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 просмотров
schedule
02.06.2022