Вопросы по теме 'atomicity'

создание атомарного файла в Linux?
Мне нужно создать файл, если он не существует, иначе другой процесс, пытающийся создать этот файл, потерпит неудачу. Мне нужно, чтобы файл считался «созданным» еще до того, как процесс создания завершил запись в него фактических данных. Я читал о...
5343 просмотров
schedule 08.11.2022

Когда AtomicInteger предпочтительнее, чем синхронизированный?
Поскольку AtomicInteger может быть как минимум на порядок медленнее, чем int , защищенный synchronized , зачем мне вообще использовать AtomicInteger? Например, если все, что я хочу, это увеличить значение int потокобезопасным способом, почему...
11711 просмотров

запрос функции: функция atomicAdd() включена в gwan.h
В параметрах G-WAN KV KV_INCR_KEY будет использовать 1-е поле в качестве первичного ключа. Это означает, что существует функция, которая атомарно увеличивает уже встроенную в ядро ​​G-WAN функцию, чтобы этот первичный индекс работал. Было бы...
411 просмотров
schedule 20.11.2022

Почему операция ‹< над массивом в Ruby не атомарна?
В Ruby этот код не является потокобезопасным, если array изменяется многими потоками: array = [] array << :foo # many threads can run this code Почему операция << не является потокобезопасной?
4946 просмотров

Кеширование OVERLAPPED структур при использовании IOCP в Windows
Я использую порты завершения ввода-вывода в Windows, у меня есть объект под названием «Stream», который напоминает и абстрагирует РУЧКУ (так что это может быть сокет, файл и т. Д.). Когда я вызываю Stream :: read () или Stream :: write () (так,...
525 просмотров

Атомарность findAndModify для встроенных документов
В руководстве по mongodb есть пример для атомарных операций. на одном документе. book = { _id: 123456789, title: "MongoDB: The Definitive Guide", available: 3, checkout: [ { by: "joe", date:...
393 просмотров
schedule 21.05.2023

Концептуальный подход к пулу очередей задач
Предположим, у меня есть распределенная очередь задач для обработки электронных писем. Каждое электронное письмо нужно было получить и проанализировать, создавая новое задание в очереди. Теперь скорость провайдера электронной почты ограничена...
69 просмотров

Более низкий уровень std::atomic‹unsigned int›
У меня есть struct , состоящий из простых старых данных, которые я разделяю между двумя динамически связанными библиотеками (или общими объектами). (скомпилировано с помощью С++ 11). Один из элементов данных должен быть атомарным типом или, если...
159 просмотров
schedule 17.03.2023

gcc встроенный атомарный сравнение и обмен
Я хочу использовать встроенную функцию gcc __atomic_compare_exchange() , но мне нужно, чтобы она немного отличалась от указанной, и я не уверен, что это возможно. прототип функции: __atomic_compare_exchange(type *ptr, type *expected, type...
1264 просмотров
schedule 08.02.2022

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...
6177 просмотров

Как читать и писать в файл, гарантируя, что файл заблокирован?
Я хочу численно увеличить содержимое файла, если последний раз файл был изменен в течение 24 часов, в противном случае сбросить содержимое файла до 1. Однако я хочу, чтобы это продолжало работать независимо от того, сколько пользователей одновременно...
782 просмотров
schedule 16.06.2023

Почему двухфазная фиксация считается атомарной?
Двухфазная фиксация описывается как «протокол атомарной фиксации». Я ожидал, что это будет означать, что все клиенты видят состояние мира либо до фиксации транзакции, либо после ее фиксации - без промежуточного состояния. Однако кажется, что он...
1358 просмотров

Атомное чтение и удаление из Redis с использованием StackExchange.Redis
Есть ли простой способ атомарно прочитать значение, а затем удалить его из Redis с помощью драйвера StackExchange c#? Я буферизую элементы в Redis, и когда они достигают определенного порога, я извлекаю их, но я также хочу очистить свой буфер . Я...
9341 просмотров
schedule 25.03.2023

Обработка счетчиков с помощью MongoDB
Я всегда использовал транзакционные базы данных , которые упрощают такие вещи: Таблица City содержит столбец с именем populationCount , который обновляется каждый раз, когда Person с этим city_id добавляется / удаляется. Как это сделать...
251 просмотров
schedule 06.04.2023

Приходит несколько потоков, последний должен выполнять обработку
Я реализую ведение журнала, в котором несколько потоков могут записывать в один List журнала. Последний поток должен записать содержимое List в файл. Таким образом, поток, который последним записывает в List , должен сбросить List в файл....
76 просмотров

Apache Camel: как выделить логику в тестируемые атомарные маршруты
Рассмотрим следующий вариант использования: набор поставщиков помещает данные в соответствующий каталог на локальном сервере (например, P1 помещает данные в data / P1, P2 в data / P2 и т. д.) у каждого провайдера есть свои собственные правила...
91 просмотров
schedule 05.03.2022

Как предотвратить доступ к критическому разделу с помощью atomics в C++
У меня есть программа, в которой 4 потока выполняют случайные транзакции между двумя банковскими счетами, при каждой 100-й транзакции на счет начисляются проценты в размере 5% на счет. Это упражнение для школы, которое я должен сделать, и в...
90 просмотров
schedule 20.11.2022