4
ответа

Параллелизм Java: CAS по сравнению с [закрытой] блокировкой

Я читаю Книжный Параллелизм Java на практике. В главе 15 они говорят о неблокирующихся алгоритмах и методе сравнивать-и-подкачивать (CAS). Это записано, тот CAS работают намного лучше...
вопрос задан: 8 January 2017 08:00
3
ответа

В Java какова производительность AtomicInteger compareAndSet () против синхронизированного ключевого слова?

Я реализовывал очередь запросов FIFO (предварительно выделенные объекты запросов для скорости) и начал с использования ключевого слова «синхронизированный» в методе add. Метод был довольно коротким (проверьте ...
вопрос задан: 24 August 2010 12:39
2
ответа

атомарная подкачка с CAS (использующий gcc синхронизируют builtins),

Сравнивать-и-подкачивать может функционировать использоваться для свопинга переменных атомарно? Я использую C/C++ через gcc на x86_64 RedHat Linux, конкретно __ синхронизируют builtins. Пример: интервал x = 0, y = 1; y =...
вопрос задан: 4 June 2010 15:20
2
ответа

Конкурирующие атомарные операции могут исчерпать ресурсы друг друга?

Вообразите программу с двумя потоками. Они выполняют следующий код (CAS относится, чтобы Сравнить и Подкачать)://Видимый к обоим потокам статический международный тест;//Выполнение потоком пустое нечто () {//Проверка, если...
вопрос задан: 7 February 2010 00:23
0
ответов

Как выполнить настоящее обновление в стиле CAS в Mysql?

Я хочу обновить строку с помощью цикла while ниже: void update (long step) {while (true) {long excepted = mapper.queryMaxId ("test"); if (mapper.updateMaxId ("тест", исключено, исключено + шаг) > 0) ...
вопрос задан: 17 January 2019 08:47
0
ответов

Является ли синхронизация с `std :: mutex` медленнее, чем с` std :: atomic (memory_order_seq_cst) `?

Основная причина использования атомик над мьютексами заключается в том, что мьютексы дороги, но модель памяти по умолчанию для атомиков - memory_order_seq_cst, не так ли дорого? Вопрос: Может ...
вопрос задан: 8 February 2018 16:56
0
ответов

MySQL Atomic UPDATE в InnoDB и MyISAM

Является ли это выражение «сравнить и поменять местами» всегда атомарным независимо от движка (, например. InnoDB или MyISAM )? :UPDATE tbl _name SET locked=1 WHERE id=ID AND locked <> 1; Я спрашиваю об этом, потому что намерен использовать...
вопрос задан: 18 December 2014 07:30
0
ответов

Атомарное сравнение и обмен со структурой в Go

Я пытаюсь создать неблокирующий пакет очереди -для параллельного приложения, используя алгоритм Магеда М. Майкла и Майкла Л. Скотта, как описано здесь. Это требует использования атомных...
вопрос задан: 17 July 2012 15:03
0
ответов

Семантика и производительность сравнения и обмена в Java

Какова семантика сравнения и обмена в Java? А именно, гарантирует ли метод сравнения и замены объекта AtomicInteger упорядоченный доступ между различными потоками к конкретной памяти ...
вопрос задан: 20 May 2012 21:48
0
ответов

Чем хороша функция «Сравнить и поменять местами»?

Недавно я читал об атомарном действии Compare And Swap (CMPXCHG,.NET Interlocked.CompareExchange и т. д. ). Я понимаю, как это работает внутри, и как это используется клиентом. Что...
вопрос задан: 24 April 2012 20:04
0
ответов

Haskell:Как 'atomicModifyIOref' Работа?

Кто-нибудь может объяснить, как работает atomicModifyIORef? В частности,:(1)Ожидает ли он блокировку или оптимистично пытается повторить попытку, если есть конфликт (подобный TVar). (2)Почему подпись...
вопрос задан: 11 April 2012 12:53
0
ответов

Как: Написать потокобезопасный метод, который можно вызывать только один раз?

Я пытаюсь написать потокобезопасный метод, который можно вызывать только один раз (для каждого экземпляра объекта). Исключение должно быть выброшено, если оно было вызвано ранее. Я придумал два решения. Являются ли...
вопрос задан: 1 March 2012 10:44
0
ответов

Атомарная операция сравнения и замены по сравнению с условной операцией загрузки ссылки / сохранения

В процессоре x86 я не уверен в разнице между атомарной операцией сравнения и замены и условной операцией загрузки ссылки / сохранения . Последний вариант безопаснее первого? Дело в том, что ...
вопрос задан: 15 August 2011 20:04
0
ответов

Сравнить и поменять местами машинный код в C

Как бы вы написали функцию на C, которая выполняет атомарное сравнение и замену целочисленного значения, используя встроенный машинный код (например, при архитектуре x86)? Может ли он быть более конкретным, если он написан ...
вопрос задан: 5 July 2011 03:38
0
ответов

Why Double-Checked Locking is used at all?

I keep on running across code that uses double-checked locking, and I'm still confused as to why it's used at all. I initially didn't know that double-checked locking is broken, and when I learned it,...
вопрос задан: 23 May 2011 04:11
0
ответов

Consensus Value

Читая о параллельном программировании, я натолкнулся на термин Consensus Number в операциях сравнения-и-замены и сравнения-и-установки. Мне трудно понять, что подразумевается под этим термином, ...
вопрос задан: 19 March 2011 19:16
0
ответов

Сравнить и поменять местами C ++ 0x

Из предложения C ++ 0x по атомным типам и операциям C ++: 29.1 Порядок и согласованность [atomics.order] Добавьте новый подпункт со следующими абзацами. Перечисление memory_order ...
вопрос задан: 18 November 2010 11:00
0
ответов

Выборка и добавление с использованием атомарных операций OpenMP

Я использую OpenMP, и мне нужно использовать операцию выборки и добавления. Однако OpenMP не предоставляет соответствующей директивы / вызова. Я хотел бы сохранить максимальную переносимость, поэтому я не хочу полагаться на ...
вопрос задан: 27 October 2010 15:27