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

6 ответов

Когда структуры данных без блокировки менее производительны, чем взаимные исключения (мьютексы)?

Я где-то читал (могубольше не могу найти страницу), которые блокируют свободные структуры данных, более эффективны "для определенных нагрузок " что...

2 ответа

Приобретение / Освобождение от последовательного последовательного порядка памяти

Для любогоstd::atomic<T> где T примитивный тип: Если я используюstd::memory_order_acq_rel заfetch_xxx операции иstd::memory_order_acquire заload операция иstd::memory_order_release заstore работа вслепую (я имею в виду, как сбросить порядок ...

5 ответов

Как построить очередь без блокировки?

Я провел сегодня, глядя в безблокировочные очереди. У меня есть несколько производителей, несколько потребителей ситуации. Для тестирования я реализовал систему, использующую Interlocked SList, под Win32, и она удвоила производительность моего ...

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

5 ответов

Является ли std :: atomic_compare_exchange_weak поточно-небезопасным по своей конструкции?

Воспитывался наcppreference atomic_compare_exchange Страница обсуждения что существующие реализации

1 ответ

Это правильно. Он использует стратегию, называемую «чередование блокировок», для уменьшения конкуренции за глобальную блокировку хранения. Это все еще довольно медленно, поэтому, если у вас есть объект с очень большим оттоком перерасчета, может быть целесообразно внедрить собственную систему перерасчета. Это не особенно сложно (используйте OSAtomicIncrement () и друзей), но вы потеряете возможность проверять историю пересчетов в Инструментах для этих объектов.

тся ли метод сохранения NSObject атомарным? Например, при сохранении одного и того же объекта из двух разных потоков обещано ли, что количество сохраненных данных увеличилось в два раза, или можно увеличить число сохраненных только один ...

1 ответ

<stdatomic.h> в GCC 4.8?

Я хотел бы использовать новые атомарные операции, предусмотренные стандартом C11. Тем не менее, пытаясь

1 ответ

@PeterCordes Я полностью согласен .. Безопасно использовать односторонний барьерный подход для описания того, как все работает. Это также (по крайней мере, для меня) самый простой способ визуализации вещей.

ели памяти C ++ существует общий порядок для всех загрузок и хранилищ всех последовательно согласованных операций. Мне интересно, как это взаимодействует с операциями, которые имеют другие упорядочения памяти, которые упорядочены до / после ...

2 ответа

Гарантирует ли стандарт C ++ 11, что std :: atomic <> реализован как атомарная операция?

Я на перекрестке, я пытаюсь выбрать между структурой данных на основе блокировки мьютекса и структурой данных без блокировки (и, возможно, без ожидания). Копаясь немного глубже, я не нашел ни слова о том, что стандарт C ++ 11 поддерживает ...

3 ответа

+1 Блокировка файлов - это, вероятно, лучший способ, так как зачастую неэффективно (или сложно) записать все за один раз.

я есть два процесса, каждый из которых записывает большой буфер данных, и я хочу контролировать синхронизацию записи этих процессов в один файл. буфер записи процесса 1, включающий (A1, A2, A3), и буфер записи процесса 2, включающий (B1, B2, ...

1 ответ

MySQL Atomic UPDATE в InnoDB против MyISAM

Является ли это & quot; сравнивать и менять & quot; оператор всегда атомарный независимо от движка (например, InnoDB или MyISAM)? :