Результаты поиска по запросу "lock-free"
Блокировка свободных нескольких читателей одного писателя
У меня есть структура данных в памяти, которая читается несколькими потоками и записывается только одним потоком. В настоящее время я использую критический раздел, чтобы сделать этот доступ потокобезопасным. К сожалению, это приводит к блокировке ...
Как я могу написать структуру без блокировки?
В моем многопоточном приложении я вижу сильную конкуренцию за блокировку, которая мешает хорошей масштабируемости для нескольких ядер. Я решил использовать программирование без блокировки, чтобы решить эту проблему. Как я могу написать структуру ...
Возможно ли реализовать блокировку без карты в C ++
Мы разрабатываем C / S на основе сетевых приложений и обнаруживаем, что слишком много блокировок, добавляющих к std :: map, ухудшают производительность сервера. Интересно, можно ли реализовать карту без блокировки, если да, то как? Есть ли там ...
Читает ли exchange или compare_and_exchange последнее значение в порядке изменения?
я читаюC ++ параллелизм в действии [http://www.manning.com/williams/]Энтони Уильямс. В разделе «Понимание непринужденного заказа»: Есть несколько дополнительных вещей, которые вы можете сказать человеку в кабинке, например: «запишите это число и ...
Проблема с boost :: lockfree :: queue в разделяемой памяти (boost 1.53, gcc 4.7.2 / clang 3.0-6ubuntu3)
У меня проблема с размещениемboost::lockfree::queue<<T, fixed_sized<false>, ..> в общей памяти. Мне это нужно, потому что я должен иметь возможность вставлять более 65535 сообщений в очередь, а очередь fixed_sized ограничена 65535. Следующий код ...
/boost/lockfree/queue.hpp: ошибка: статическое утверждение не удалось: (boost :: has_trivial_destructor <T> :: value)
Я пытаюсь заменитьboost::lockfree::queue заstd::queue в этом ...
Когда структуры данных без блокировки менее производительны, чем взаимные исключения (мьютексы)?
Я где-то читал (больше не могу найти страницу), что блокировка свободных структур данных более эффективна «для определенных рабочих нагрузок», что, по-видимому, подразумевает, что иногда они на самом деле медленнее или выигрыш от них может быть ...
ForkJoinPool останавливается во время invokeAll / join
Я пытаюсь использоватьForkJoinPool [http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ForkJoinPool.html] распараллелить мои интенсивные вычисления процессора. Насколько я понимаю, ForkJoinPool заключается в том, что он продолжает ...
Блокировка и барьеры памяти
У меня есть вопрос о следующем примере кода (m_value не является энергозависимым, и каждый поток работает на отдельном процессоре) void Foo() // executed by thread #1, BEFORE Bar() is executed { Interlocked.Exchange(ref m_value, 1); } bool Bar() ...
Атомарные операции для двойного связанного списка без блокировки
Я пишу двухсвязный список без блокировки, основанный на следующих документах: «Эффективное и надежное восстановление памяти без блокировки на основе подсчета ссылок» Андерс Гиденстам, член IEEE, Марина Папатриантафилу, Хоакан Санделл и Филиппас ...