Результаты поиска по запросу "atomic"

5 ответов

Как создать файл, только если он не существует?

Я написал демон UNIX (нацеленный на Debian, но это не должно иметь значения), и я хотел предоставить какой-то способ создания «pid-файла» (файла, который содержит идентификатор процесса демона). Я искал способ открыть файлтолько если ...

3 ответа

ARM64: LDXR / STXR против LDAXR / STLXR

На iOS есть две похожие функции,OSAtomicAdd32 а такжеOSAtomicAdd32Barrier, Мне интересно, когда вам понадобитсяBarrier вариант. Разобрали, это: _OSAtomicAdd32: ldxr w8, [x1] add w8, w8, w0 stxr w9, w8, [x1] cbnz w9, _OSAtomicAdd32 mov x0, x8 ...

1 ответ

Сломанный сборник GLSL Spinlock / GLSL Locks

У меня есть настройки, где мне нужно заблокировать, прочитать некоторые данные, обработать, записать некоторые данные, а затем разблокировать. Для этого я сделал текстуру блокировки какlayout(r32ui) coherent uniform uimage2D, Данные критического ...

ТОП публикаций

2 ответа

Ошибка соединения при компиляции атомарной операции gcc в 32-битном режиме

У меня есть следующая программа: ~/test> cat test.cc int main() { int i = 3; int j = __sync_add_and_fetch(&i, 1); return 0; }Я компилирую эту программу, используя GCC 4.2.2 для Linux, работающей на 64-битной машине Intel с несколькими ...

4 ответа

Как объявить вектор атомарного в C ++

Я намерен объявить вектор атомарных переменных для использования в качестве счетчиков в многопоточной программе. Вот что я попробовал: #include <atomic> #include <vector> int main(void) { std::vector<std::atomic<int>> v_a; std::atomic<int> ...

1 ответ

Должен ли std :: atomic <int *> :: load выполнять цикл сравнения и замены?

Резюме: Я ожидал, чтоstd::atomic<int*>::load с участиемstd::memory_order_relaxed было бы близко к производительности простой загрузки указателя напрямую, по крайней мере, когда загруженное значение редко изменяется. Я видел гораздо худшую ...

4 ответа

Почему нет перегрузки Interlocked.Add, которая принимает Doubles в качестве параметров?

Я полностью ценю атомарность, которую обеспечивает класс Threading.Interlocked; Я не понимаю, однако, почему функция Add предлагает только две перегрузки: одна для целых чисел, другая для длинных. Почему не Doubles, или любой другой числовой тип ...

4 ответа

требования выравнивания для атомарных команд x86

Microsoft предлагаетInterlockedCompareExchange [http://msdn.microsoft.com/en-us/library/ms683560%28VS.85%29.aspx]функция для выполнения атомарных операций сравнения и замены. Также ...

5 ответов

В чем разница между использованием явных заборов и std :: atomic?

Предполагая, что выравниваемые нагрузки и хранилища указателя на целевой платформе естественно атомарны, в чем разница между этим: // Case 1: Dumb pointer, manual fence int* ptr; // ... std::atomic_thread_fence(std::memory_order_release); ptr = ...

4 ответа

AtomicInteger и изменчивый

я знаюvolatile позволяет для видимости,AtomicInteger допускает атомарность. Так что, если я использую летучийAtomicIntegerэто значит, что мне больше не нужно использовать механизмы синхронизации? Например. class A { private volatile ...