20
ответов

Как я могу записать блокировке свободную структуру?

В моем многопоточном приложении и я вижу тяжелую конкуренцию за блокировку в нем, предотвращая хорошую масштабируемость через несколько ядер. Я решил использовать блокировку бесплатное программирование для решения этого. Как я могу записать...
вопрос задан: 10 September 2010 12:52
9
ответов

Portable Compare And Swap (атомарные операции) Библиотека C / C ++?

Существует ли какая-нибудь небольшая библиотека, которая оборачивает CAS-подобные операции различных процессоров в макросы или функции, переносимые между несколькими компиляторами? PS. Библиотека atomic.hpp находится внутри boost :: ...
вопрос задан: 28 June 2012 09:57
9
ответов

Круговой свободный от блокировок буфер

Я нахожусь в процессе разработки системы, которая соединяется с одним или несколькими, передают потоком подачи данных и делают некоторый анализ данных, чем триггерные события на основе результата. В типичном многопоточном...
вопрос задан: 18 November 2011 16:38
9
ответов

Есть ли производство готовая очередь без блокировок или реализация хеша в [закрытом] C++

Я гуглил вполне немного для очереди без блокировок в C++. Я нашел некоторый код и некоторые пробные версии - но ничто, что я смог скомпилировать. Хеш без блокировок также приветствовался бы. СВОДКА: До сих пор я имею...
вопрос задан: 29 July 2009 13:26
8
ответов

Какой-либо единственный производитель единственного потребителя блокирует бесплатную реализацию очереди в C?

Я пишу программу с потребительским потоком и потоком производителя, теперь кажется, что синхронизация очереди является большими издержками в программе, и я искал некоторую блокировку бесплатные реализации очереди, но только...
вопрос задан: 13 June 2009 13:03
7
ответов

Взаимно блокируемые и барьеры памяти

У меня есть вопрос о следующем примере кода (m_value, не энергозависимо, и каждый поток работает на отдельном процессоре), освобождают Foo ()//выполняемый потоком № 1, ПРЕЖДЕ ЧЕМ Панель () будет выполнена {...
вопрос задан: 18 November 2009 18:07
7
ответов

Блокировка требуется с ленивой инициализацией на очень неизменном типе?

Если у меня есть очень неизменный тип (все участники только для чтения и если они - участники ссылочного типа, то они также обращаются к объектам, которые очень неизменны). Я хотел бы реализовать ленивое...
вопрос задан: 20 March 2009 00:55
6
ответов

Блокировка (ожидают) бесплатный возможный двунаправленный связанный список?

Задавая этот вопрос с тегом C#, но если это возможно, это должно быть возможно на любом языке. Действительно ли возможно реализовать двунаправленный связанный список с помощью Взаимно блокируемых операций для обеспечения без ожидания...
вопрос задан: 15 September 2013 00:06
6
ответов

Почему является незапертый параллелизм таким грандиозным предприятием (в Clojure)?

Мне говорят, что Clojure имеет незапертый параллелизм и что это Важно. Я использовал много языков, но не понял, что они выполняли блокировки негласно. Почему это - преимущество...
вопрос задан: 30 October 2009 02:43
5
ответов

Свободная от блокировок многопоточность является настоящей экспертов по поточной обработке

Я прочитывал ответ, который Jon Skeet дал вопросу, и в нем он упомянул это: Что касается меня, свободная от блокировок многопоточность является настоящей экспертов по поточной обработке, из которых я не тот....
вопрос задан: 23 May 2017 11:54
5
ответов

Заблокируйте свободные конструкции в .NET

Я плохо знаком с .NET и хотел бы знать, имеет ли .NET Java, эквивалентный из AtomicInteger, ConcurrentLinkedQueue, и т.д.? Я сделал немного поиска и ничего не мог придумать. Свободная блокировка...
вопрос задан: 30 October 2009 02:47
5
ответов

Барьеры памяти в пространстве пользователя? (Linux, x86-64)

Это легко к барьерам памяти аппарата на стороне ядра: МБ макросов, wmb, юань, и т.д. всегда на месте благодаря заголовкам ядрa Linux. Как выполнить это на стороне пользователя?
вопрос задан: 26 July 2009 20:32
4
ответа

Как я могу проверить алгоритмы без блокировок?

В теории это должно быть возможно, по крайней мере, к грубой силе проверка алгоритма без блокировок (существует только столько комбинаций пересечения вызовов функции). Есть ли любые инструменты или формальны...
вопрос задан: 15 January 2010 13:43
4
ответа

Когда записи/чтения влияют на оперативную память?

Когда я пишу значение в поле, какие гарантии я получаю относительно того, когда новое значение будет сохранено в оперативной памяти? Например, как я знаю, что процессор не сохраняет новое значение в нем'...
вопрос задан: 14 November 2009 14:01
4
ответа

Заблокируйте свободный несколько читателей единственное устройство записи

Я имею в структуре данных оперативной памяти, которая считана несколькими потоками и записана только одним потоком. В настоящее время я использую критический раздел для создания этого доступа ориентированным на многопотоковое исполнение. К сожалению, это
вопрос задан: 30 October 2009 02:47
4
ответа

Атомарные операции становятся медленнее, поскольку добавляется больше центральных процессоров?

x86 и другая архитектура предоставляют специальные атомарные инструкции (блокировка, cmpxchg, и т.д.), которые позволяют Вам писать 'блокировке бесплатные' структуры данных. Но поскольку все больше ядер добавляется, это кажется как будто...
вопрос задан: 18 October 2009 19:42
4
ответа

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

Я где-то читал (больше не могу найти страницу), что блокировка свободных структур данных более эффективна «для определенных рабочих нагрузок», что, кажется, подразумевает, что иногда они на самом деле медленнее или выигрыши от ...
вопрос задан: 18 October 2009 19:37
4
ответа

GCC Атомарный Builtins вместо pthread?

Я нашел следующую статью: Используйте GCC-обеспеченные атомарные операции блокировки для замены функций pthread_mutex_lock, которые Это отсылает к Атомарному Builtins GCC. То, что статью предлагают, должно использовать GCC атомарный...
вопрос задан: 21 July 2009 09:29
4
ответа

Очередь без блокировок “несколько единственный производителями потребитель” существуют для Delphi?

Я нашел несколько реализаций для единственного единственного производителем потребителя, но ни один для нескольких единственный производителем потребитель. Делает очередь без блокировок для "нескольких, единственный производителями потребитель"
вопрос задан: 5 July 2009 12:59
4
ответа

Существует ли способ, которым я могу сделать два чтения атомарными?

Я сталкиваюсь с ситуацией, где мне нужна атомарная сумма двух значений в памяти. Код, который я наследовал, идет как это: интервал = *MemoryLocationOne; memory_fence (); интервал b = *MemoryLocationTwo; возвратитесь (...
вопрос задан: 10 April 2009 08:14
4
ответа

Блокировка свободного стека и очереди в C #

Кто-нибудь знает, есть ли какие-либо библиотеки контейнеров без блокировки, доступные для .NET? Предпочтительно то, что доказано, что работает и работает быстрее, чем Synchronized-оболочки, которые есть в .NET. Я имею ...
вопрос задан: 25 February 2009 21:35
3
ответа

Действительно ли оптимистический свободный от блокировок FIFO ставит реализацию в очередь, существуют?

Есть ли какая-либо реализация C++ (исходные коды) "optmistic подход к свободному от блокировок алгоритму" очередей FIFO?
вопрос задан: 19 April 2016 14:35
3
ответа

Как сделать, сравнивают и увеличивают атомарно?

В моей попытке к develope ориентированный на многопотоковое исполнение C++ слабый шаблонный класс указателя я должен проверить флаг, что указание на объект все еще живо, если да затем увеличивают подсчет ссылок объекта, и мне нужно...
вопрос задан: 9 November 2010 14:13
3
ответа

Действительно ли несколько-производителей, единственный потребитель возможен в установке lockfree?

У меня есть набор потоков, которые делают большую связь друг с другом. Я предпочел бы, чтобы это было свободной блокировкой. Для каждого потока я хочу иметь почтовый ящик, куда другие потоки могут отправить, он обменивается сообщениями, (...
вопрос задан: 9 November 2010 14:12
3
ответа

Барьеры памяти по сравнению со взаимно блокируемыми операциями

Я пытаюсь улучшить свое понимание барьеров памяти. Предположим, что у нас есть слабая модель памяти, и мы адаптируем алгоритм Dekker. Действительно ли возможно заставить его работать правильно под слабой моделью памяти...
вопрос задан: 21 July 2010 23:57
3
ответа

C++ Свободный от блокировок шаблонный ObjectPool

они существуют? *добавленный для разъяснения: есть ли любая применимая библиотека, которые реализуют свободный от блокировок (который ориентирован на многопотоковое исполнение и мог бы быть спин-блокировкой реализации или другой легкой синхронизацией) Obj
вопрос задан: 3 June 2010 06:40
2
ответа

Без блокировки один производитель / один потребитель кольцевой буфер

Я искал на этом сайте циклический буфер без блокировки одного производителя / одного потребителя, когда не мог понять, зачем нужен определенный барьер памяти. Я внимательно прочитал сотню ...
вопрос задан: 20 January 2019 17:10
2
ответа

Заблокируйте свободную очередь — единственный производитель, несколько потребителей

Я ищу метод для реализации свободной от блокировок структуры данных очереди, которая поддерживает единственного производителя и несколько потребителей. Я посмотрел на классический метод Maged Michael и Michael Scott (...
вопрос задан: 19 September 2018 09:49
2
ответа

атомарная операция стоится

Какова стоимость атомарной операции (какой-либо из сравнивать-и-подкачивать, или атомарные добавляют/постепенно уменьшают)? Сколько циклов это использует? Действительно ли это приостановит другие процессоры на SMP или NUMA, или будет это память блока...
вопрос задан: 17 October 2016 20:00
2
ответа

Как реализовать список пропуска без блокировки

Мне нужно реализовать список пропуска без блокировки. Я пытался искать документы. К сожалению, все, что я нашел, было свободными от единственных ссылок списками (во многих вариантах). Однако, как реализовать список пропусков без блокировки?
вопрос задан: 13 August 2010 17:25