Описание тега atomicity
В параллельном программировании операция (или набор операций) является атомарной, линеаризуемой, неделимой или непрерываемой, если остальной части системы кажется, что она происходит мгновенно. Атомарность - это гарантия изоляции от параллельных процессов. Кроме того, атомарные операции обычно имеют определение "успех или сбой" - они либо успешно изменяют состояние системы, либо не имеют видимого эффекта.
2
ответа
Можно ли выполнить несколько операций с БД в одной транзакции в MongoDB?
Предположим, у меня есть две коллекции A а также B Я хочу сделать операцию db.A.remove({_id:1}); db.B.insert({_id:"1","name":"dev"}) Я знаю, что MongoDB поддерживает атомарность на уровне документов. Можно ли выполнить вышеуказанный набор операций в…
06 май '15 в 08:28
1
ответ
Моделировать атомную работу в независимых системах
У меня есть две независимые системы. В какой-то момент я хотел бы иметь возможность выполнить операцию, которая влияет на обе системы, и я хотел бы симулировать атомарность, даже если это технически невозможно. Чтобы проиллюстрировать проблему, скаж…
18 авг '15 в 18:12
5
ответов
Функции для выполнения атомарных операций
Существуют ли функции для выполнения атомарных операций (например, увеличение / уменьшение целого числа) и т. Д., Поддерживаемые C Run time library или любыми другими служебными библиотеками? Если да, то что все операции можно сделать атомарными, ис…
20 фев '10 в 15:37
1
ответ
Атомность обеспечивается Spring AOP?
У меня есть следующий вариант использования: У меня есть ряд стандартных объектов в моем приложении. Когда мое приложение выполняет сохранение / слияние JPA экземпляра одного из этих объектов, я бы хотел, чтобы было выполнено другое сохранение экзем…
01 авг '12 в 14:38
2
ответа
Обеспечение атомности sql
Я только что читал о RDBMS, и одно свойство RDBMS - атомарность. Таким образом, если деньги будут сняты со счета и переведены на другой, транзакция произойдет полностью или не произойдет вовсе. Частичных транзакций нет. Но как на самом деле это обес…
28 мар '09 в 10:13
0
ответов
Понимание использования барьеров памяти C++
Барьер std::memory_order_acquire гарантирует, что все операции, такие как чтение / запись, которые идут после барьера, будут выполнены после всех операций чтения (загрузки) перед барьером. Например, у меня есть следующий код: #include <iostream&g…
01 мар '17 в 08:28
4
ответа
Есть ли основания не ВСЕГДА использовать AtomicInteger в качестве членов данных?
В многопоточной среде, такой как Android, где простой int переменной можно манипулировать несколькими потоками, есть ли обстоятельства, при которых все еще оправдано использование int как член данных? int как локальная переменная, ограниченная облас…
20 июн '12 в 18:01
2
ответа
Эквивалент InterlockedExchangeAdd для Linux с использованием Delphi 10.2)
Delphi 10.2 (с поддержкой Linux) имеет кроссплатформенную функцию AtomicExchange, которая эквивалентна Windows InterlocekdEchange. Все идет нормально... Я должен портировать код Win32, используя InterlockedExchangeAdd, который не имеет эквивалента A…
22 апр '17 в 16:29
5
ответов
Может ли база данных поддерживать "атомарность", но не "согласованность" или наоборот?
Я читаю о свойствах ACID базы данных. Атомность и последовательность кажутся тесно связанными. Мне интересно, есть ли какие-то сценарии, в которых нам нужно просто поддерживать атомарность, а не согласованность или наоборот. Пример действительно пом…
29 сен '10 в 05:25
1
ответ
sqlalchemy, атомарность и вставляемый id
Мне нужен был ответ в этой статье о том, как получить идентификатор вновь вставленной записи базы данных: sqlalchemy flush () и получить вставленный идентификатор? Меня интересует атомарность коммитов. Например, предположим, что я отправил новый эле…
03 дек '15 в 16:50
2
ответа
AtomicBoolean против синхронизированного блока, в чем разница
Я пытаюсь понять разницу между двумя следующими блоками кода AtomicBoolean ab = new AtomicBoolean(false); using the following to get and set state. . ab.get(); ab.set(X); vs. private boolean ab = false; private final Object myboollock = new Ojbect()…
26 янв '15 в 17:18
1
ответ
Управляйте атомарными транзакциями в Джанго
У меня есть простое приложение библиотеки. Чтобы принудительно зафиксировать 3 действия как одно действие и выполнить откат в случае сбоя какого-либо из этих действий, я внес следующие изменения в код: В settings.py: AUTOCOMMIT=False В forms.py from…
13 июн '16 в 16:58
3
ответа
C++, если один поток записи переключает bool, когда это сделано, безопасно ли читать этот bool в цикле в одном другом потоке?
Я строю очень простую программу в качестве упражнения. Идея состоит в том, чтобы вычислить общий размер каталога путем рекурсивной итерации по всему его содержимому и суммирования размеров всех файлов, содержащихся в каталоге (и его подкаталогах). Ч…
18 дек '16 в 20:23
1
ответ
Атомные счетчики весной с Couchbase
Можно ли использовать атомные счетчики Couchbase с пружинным соединителем? В настоящее время у меня есть хранилище для конкретного типа документа и я хочу, чтобы для каждого документа был атомный счетчик. Я знаю, что Java SDK предлагает функциональн…
28 фев '17 в 11:21
2
ответа
Как специализированный атомарный тип может быть свободным от блокировки?
Я нашел следующий код, выход всегда: std::atomic<A> is lock free? false std::atomic<B> is lock free? true Это код: struct A { int a[100]; }; struct B { int x, y; }; int main() { std::cout << std::boolalpha << "std::atomic<…
01 сен '17 в 20:43
2
ответа
C++11 Потокобезопасность атомных контейнеров
Я пытаюсь реализовать потокобезопасный вектор STL без мьютексов. Так что я прошел через this выложить и реализовать обертку для атомарных примитивов. Однако, когда я запустил код ниже, он отображал Failed! дважды из приведенного ниже кода (только дв…
04 янв '15 в 18:14
1
ответ
Атомное именование для атомарных классов в параллельном пакете Java
У нас есть классы Atomic, такие как AtomicInteger, который используется для операции приращения. Атомная операция означает одну операцию, но приращение требует 3 операции. Мой вопрос, почему он называется AtomicInteger
29 окт '18 в 16:33
2
ответа
NimbusDB - распределенный неблокирующий протокол атомарной фиксации?
С веб-сайта NimbusDB: Наш распределенный неблокирующий протокол атомарной фиксации позволяет обрабатывать транзакции базы данных на любом доступном узле. Они утверждают, что могут гарантировать транзакции ACID в распределенной среде и обеспечивают в…
19 май '11 в 09:11
2
ответа
Гарантии атомарности на Winsocks?
Поскольку Windows не предоставляет доменные сокеты UNIX, я использую локальное TCP-соединение для имитации поведения. Теперь POSIX гарантирует, что, если несколько потоков пишут в сокет домена UNIX параллельно, фрагменты до PIPE_BUF будут обрабатыва…
03 май '10 в 17:09
2
ответа
"Атомный раздел" в драйвере Ruby MongoDB?
Есть ли способ выполнить набор неатомарных действий на сервере MongoDB (используя драйвер Ruby) как единое атомарное действие? Что мне нужно, так это в основном блокировка определенного объекта / коллекции.
17 ноя '10 в 13:56