Публикации по теме 'atomicity'


Атомарность свойств ACID | Системный дизайн | Интервью СДЕ
Атомарность — это одно из четырех свойств модели ACID (атомарность, согласованность, изоляция, долговечность), которая используется для обеспечения надежности и согласованности транзакций базы данных при проектировании системы. Атомарность относится к способности транзакции выполняться как единая неделимая единица работы. Это означает, что либо все операции в…

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

На многоядерном x86 нужен ли LOCK в качестве префикса для XCHG?
Если mem является общей памятью, мне нужно: XCHG EAX,mem or: LOCK XCHG EAX,mem сделать обмен атомарно? Поиск в гугле дает ответы как да, так и нет. Кто-нибудь знает это окончательно?
7222 просмотров
schedule 23.04.2022

Блокировка с использованием атомарных операций
Да, я знаю, что на следующий вопрос можно ответить «Вместо этого используйте ключевое слово блокировки» или что-то подобное. Но так как это просто для "развлечения", я не забочусь о них. Я сделал простую блокировку, используя атомарные операции:...
1759 просмотров
schedule 15.07.2022

Имитация разрыва двойника в C#
Я работаю на 32-битной машине и могу подтвердить, что длинные значения могут порваться, используя следующий фрагмент кода, который работает очень быстро. static void TestTearingLong() { System.Threading.Thread A = new...
842 просмотров

.net System.MemberwiseClone и блокировка операций записи
При выполнении MemberwiseClone массива типов значений: var arr = new double[100]; Если эти двойники изменяются с помощью Interlocked write в других потоках, будет ли копия MemberwiseCloned подвергаться риску разрыва двойников в ней? Меня не...
84 просмотров
schedule 05.10.2022

Связь между инструкциями байт-кода и операциями процессора
Спецификация Java гарантирует, что присваивание примитивных переменных всегда атомарно (за исключением long и двойного types . Наоборот, операция Выборка-и-Добавление соответствует знаменитой операции i++ приращения , будет неатомарным,...
957 просмотров
schedule 17.04.2022

атомарные операции и атомарные транзакции
Может ли кто-нибудь объяснить мне, в чем разница между атомарными операциями и атомарными транзакциями? Мне кажется, что это одно и то же.
12035 просмотров
schedule 31.07.2023

Когда мне действительно нужно использовать atomic‹bool› вместо bool?
Разве atomic<bool> не является избыточным, потому что bool является атомарным по своей природе? Я не думаю, что возможно иметь частично измененное логическое значение. Когда мне действительно нужно использовать atomic<bool> вместо...
71458 просмотров
schedule 08.04.2022

Возможно ли иметь атомарные пакетные обновления в MongoDB?
У меня проблема с обновлениями монго в моем текущем проекте. У нас есть пул документов, поддерживаемый в MongoDB. Процесс чтения извлекает пакет документов из этого пула. Чтобы гарантировать, что документы из БД не будут извлечены снова, статус,...
1349 просмотров
schedule 20.05.2022

Возможна ли непрерывная интеграция с ClearCase?
Мы запускаем ночные сборки на сервере Jenkins и используем ClearCase в качестве системы управления исходным кодом. Поскольку ClearCase ориентирован на файлы , файлы регистрируются один за другим. В отличие от SVN или Git (которые ориентированы на...
4586 просмотров

Встроенный линукс. Выполнить блок кода атомарно
В настоящее время у меня есть приложение пользовательского пространства на встроенном устройстве Linux (версия 2.6.28.10), которое переключает контакты GPIO для управления некоторым пользовательским оборудованием. Запись в регистры GPIO происходит из...
441 просмотров
schedule 13.11.2022

На x86-64 инструкция movnti атомарна?
На процессорах x86-64 (Intel или AMD) является ли команда "movnti", которая записывает 4/8 байта в 32/64-битный выровненный адрес, атомарна?
1608 просмотров
schedule 09.06.2024

atomicAdd вызывает ошибку Невозможно запустить/выполнить ядро
У меня есть следующий код CUDA C: int i = threadIdx.x + blockIdx.x*blockDim.x; int stride = blockDim.x*gridDim.x; while(i < size) { atomicAdd(&(histo_private[buffer[i]]),1); i+=stride; } что приводит к сбою моей...
802 просмотров
schedule 01.07.2023

Если меня не волнует точность - следует ли мне использовать атомарную переменную float вместо double - это двойной атомар на 64-битном процессоре с 64-битным приложением
Сейчас я использую переменные типа double, чтобы использовать их в качестве счетчиков. Однако мое приложение является многопоточным, поэтому, если операция будет атомарной, для меня это будет намного лучше. Я могу использовать, однако числа...
65 просмотров

Зачем использовать AtomicRefernce, когда чтение и установка простой ссылки уже является атомарной операцией
Может ли кто-нибудь прояснить мои сомнения по поводу AtomicReferences. Поскольку номинальная модель чтения и записи ссылок на память Java всегда является атомарной операцией, независимо от 32-битной или 64-битной машины. Итак, в каком сценарии...
55 просмотров
schedule 20.06.2023

Обеспечить атомарность в коде подпрограммы
У меня есть следующий код #!/bin/env python # http://stackoverflow.com/questions/32192938/order-of-subprocesses-execution-and-its-impact-on-operations-atomicity from multiprocessing import Process from multiprocessing import Queue import time...
217 просмотров

Атомарное создание файла, если он не существует в Python
Я ищу атомарную версию следующего: import os def tryMakeFile(filename): try: with open(filename) as _: return False except FileNotFoundError: with open(filename, mode='a') as _: return True...
3108 просмотров
schedule 22.06.2023

Есть ли способ обеспечить атомарность при наличии многопоточной программы с обработчиками сигналов?
Если у меня есть такая программа (в псевдокоде): mutex_lock; func() { lock(mutex_lock); // Some code (long enough to make a // race condition if no proper synchronisation // is available). We also going to call a signal, //...
131 просмотров
schedule 06.02.2023

дополнение к std::atomic‹double› не суммируется с неатомарным аналогом
Я пытаюсь выполнить добавление к двойному атомарно в цикле, используя схему сравнения и обмена с этой функцией: namespace my { template<typename value_type> value_type atomic_add(std::atomic<value_type>& operand, value_type...
275 просмотров

Значение атомарности записи канала POSIX
Согласно стандарту POSIX , запись в канал гарантированно будет атомарный (если размер данных меньше PIPE_BUF). Насколько я понимаю, это означает, что любой поток, пытающийся записать в канал, никогда не получит доступ к каналу в середине записи...
116 просмотров

Понимание использования барьеров памяти C++
Барьер std::memory_order_acquire гарантирует, что все операции, такие как чтение/запись, которые идут после барьера, будут выполняться после всех операций чтения (загрузки) перед барьером. Например, у меня есть следующий код: #include...
103 просмотров
schedule 05.09.2022