Публикации по теме '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 просмотров
schedule
26.04.2022
.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 просмотров
schedule
09.01.2023
Встроенный линукс. Выполнить блок кода атомарно
В настоящее время у меня есть приложение пользовательского пространства на встроенном устройстве 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 просмотров
schedule
21.06.2022
Зачем использовать 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 просмотров
schedule
13.07.2023
Атомарное создание файла, если он не существует в 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 просмотров
schedule
21.08.2022
Значение атомарности записи канала POSIX
Согласно стандарту POSIX , запись в канал гарантированно будет атомарный (если размер данных меньше PIPE_BUF).
Насколько я понимаю, это означает, что любой поток, пытающийся записать в канал, никогда не получит доступ к каналу в середине записи...
116 просмотров
schedule
25.06.2022
Понимание использования барьеров памяти C++
Барьер std::memory_order_acquire гарантирует, что все операции, такие как чтение/запись, которые идут после барьера, будут выполняться после всех операций чтения (загрузки) перед барьером.
Например, у меня есть следующий код:
#include...
103 просмотров
schedule
05.09.2022