Описание тега atomic
Атомарная операция неделима. Этот термин используется, среди прочего, для описания транзакций в базах данных, низкоуровневого доступа в многопоточных программах и операций файловой системы.
1
ответ
Атомная переменная Vs. Атомная операция
Допустим, у меня есть две общие переменные - a а также b - которые связаны друг с другом. Когда несколько приложений совместно используют эти общие переменные, доступ к ним должен быть атомарной операцией, в противном случае связь может нарушиться. …
19 май '10 в 09:13
1
ответ
Выполнить несколько запросов, где все успешно или все не удалось
Мне нужно обновить 2 строки в 2 разных таблицах, а затем вставить новую строку в другую другую таблицу, что необходимо сделать так, чтобы все они успешно выполнялись или не выполнялись. (Думаю слово атомарно?). Я провел некоторый поиск, но могу толь…
23 мар '16 в 05:22
1
ответ
Правильный способ создать thread_safe shared_ptr без блокировки?
Я пытаюсь создать класс с потокобезопасным shared_ptr. Мой пример использования заключается в том, что shared_ptr принадлежит объекту класса и ведет себя как единый объект (функция CreateIfNotExist может быть запущена любым потоком в любой момент вр…
03 окт '16 в 14:17
0
ответов
Как затраты на атомарные операции варьируются в зависимости от архитектуры?
Как соотносятся затраты на атомарные операции в обычных архитектурах (x86(версия), arm(версия) и PowerPC(версия))? Бонусные баллы, если вы включили исходную оценку циклов и объяснили ее в терминах "Сортировка памяти C11" или включили инструкции, исп…
27 июл '17 в 03:18
1
ответ
Есть ли в Go независимый от ОС способ атомарной перезаписи файла?
Если файл уже существует, я хочу перезаписать его. Если его не существует, я хочу создать его и написать в него. Я бы предпочел не использовать стороннюю библиотеку, такую как lockfile (которая, кажется, обрабатывает все типы блокировок). Моей пер…
21 май '15 в 22:11
0
ответов
Потоковый атомарный класс: memory_order_seq_cst VS memory_order_relaxed
Я изучаю параллелизм, читая книгу Энтони Уильямса "Параллельность в C++ в действии". Это отличная книга. Мне трудно понять разницу между моделью памяти в атомарном классе. Например, memory_order_seq_cst против memory_order_relaxed, я надеюсь, что лу…
05 сен '17 в 14:18
1
ответ
"Атомный" вызов cout в MPI
Меня интересует, есть ли команда или методика в OpenMPI для атомарного вызова для записи в стандартный вывод (или, в этом отношении, в любой поток). Что я заметил, так это то, что во время выполнения программ MPI вызовы для записи в cout (или другие…
09 апр '13 в 11:56
1
ответ
Для каких размеров обычная загрузка и сохранение в глобальной памяти в CUDA Atomic?
Являются ли общие операции чтения и записи в глобальной памяти атомарными в CUDA, если: Это 4-х байтовая инструкция? (Я предполагаю, что да) Это 8-байтовая или 16-байтовая инструкция? (Я предполагаю, что да) По крайней мере, на Кеплере и Ферми обычн…
25 дек '13 в 17:03
1
ответ
CUDA, mutex и atomicCAS()
Недавно я начал разрабатывать CUDA и столкнулся с проблемой atomicCAS(). Чтобы сделать некоторые манипуляции с памятью в коде устройства, мне нужно создать мьютекс, чтобы только один поток мог работать с памятью в критической части кода. Код устройс…
24 янв '14 в 20:03
2
ответа
MongoDB: увеличить целочисленное поле (C#)
Как увеличить целочисленное поле атомарным способом? Может ли метод FindAndModify помочь? Например, документ содержит поле count и я хочу увеличить его без получения полного документа и сохранения обратно.
24 апр '12 в 12:23
2
ответа
Почему использование ключевого слова volatile для разделяемой памяти невозможно, когда атомарные операции выполняются в разделяемой памяти?
У меня есть фрагмент кода CUDA, в котором потоки выполняют атомарные операции с общей памятью. Я думал, так как результат атомарной операции будет виден другим потокам блока в любом случае мгновенно, возможно, было бы хорошо поручить компилятору име…
13 апр '14 в 16:55
2
ответа
Почему std::atomic's Compare_exchange принимает ссылку на ожидаемое значение?
В чем причина std::atomic<T>::compare_exchange_* принять ожидаемое значение по ссылке, а не по значению?
14 ноя '13 в 19:49
2
ответа
Сбой сравнения_обмена для std::shared_ptr в msvs 2013?
Посмотрите на образец, пожалуйста std::atomic < std::shared_ptr < int > > a; std::shared_ptr < int > b; std::shared_ptr < int > c = std::make_shared < int > (10); while(a.compare_exchange_weak(b, c)); assert(a.load() ==…
27 дек '13 в 17:48
2
ответа
Что быстрее в CUDA: запись в глобальную память + __threadfence() или atomicExch() в глобальную память?
Предполагая, что у нас есть много потоков, которые будут последовательно обращаться к глобальной памяти, какой вариант работает быстрее в целом? Я сомневаюсь, потому что __threadfence() учитывает все записи в общую и глобальную память, но записи объ…
20 июл '12 в 19:57
0
ответов
Как решить "порядок памяти во время выполнения" в AtomicPointer из leveldb?
// Gcc on x86 inline void MemoryBarrier() { // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. __asm__ __volatile__("" : : : "memory"); } ' asm volatile ("…
09 авг '17 в 01:32
0
ответов
Parse.com атомарный безопасный подход для создания PFObjects из iOS?
Из приложения iOS, вошедшего в систему PFUser, можно создать объект с именем класса "X". X имеет атрибут name, и во всей системе может быть только один объект X с таким именем. Любой пользователь в iOS может создать объект X, предоставив ему имя. По…
27 июл '14 в 16:17
1
ответ
Поле обновления Solr на основе другого поля
Мне нужно создать новое поле в моей базе данных Solr. Мои данные похожи на:{id: "что-то", name_s: "какое-то имя" } Я хочу добавить новое поле name_t. Проблема в том, что я хочу обновить новое поле name_t значением name_s. И я хочу сделать это со все…
14 фев '17 в 16:14
1
ответ
Какие-нибудь недостатки для std::atomic_flag, не обеспечивающего операции загрузки или хранения? (Пример Spin-Lock)
Сравнивая std::atomic_flag для std::atomic_bool (ака std::atomic<bool> мне кажется, что std::atomic_flag просто имеет более простой интерфейс. Он обеспечивает только тестирование + установку и очистку флага во время std::atomic_bool также обес…
29 авг '18 в 07:05
1
ответ
Атомная операция в многопоточном рабочем месте
Достаточно ли безопасны атомарные операции, чтобы использовать их в многопоточных приложениях, не вызывая состязаний и других проблем с параллелизмом? Допустим, мы не беспокоимся о видимости (мы читаем / пишем все с процессора).
27 окт '17 в 07:05
1
ответ
Атомная согласованность
Мой лектор по курсу баз данных, который я беру, сказал, что преимущество баз данных NoSQL заключается в том, что они "поддерживают атомарную согласованность одного агрегата". Я понятия не имею, что это значит, может кто-нибудь объяснить мне?
09 июн '17 в 23:19