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

может ли linq обновлять и запрашивать атомарно?
Мне нужно получить 1000 строк из базы данных и в то же время пометить их как «в процессе». Таким образом, другой поток не сможет взять те же 1000 строк и обработать их. С linq я делаю что-то вроде этого: msgs = (из m в database.messages где...
945 просмотров
schedule 28.10.2023

Где найти __sync_add_and_fetch_8?
Я получил ошибки при попытке использовать __sync_add_and_fetch: test8.cpp:(.text+0x90e): undefined reference to `__sync_add_and_fetch_8' collect2: ld returned 1 exit status Пожалуйста, подскажите, как это исправить. Спецификации: GCC/G++:...
3018 просмотров
schedule 14.02.2024

итераторы Python и потокобезопасность
У меня есть класс, над которым работают две функции. Одна функция создает список виджетов и записывает его в класс: def updateWidgets(self): widgets = self.generateWidgetList() self.widgets = widgets другая функция каким-то образом...
1204 просмотров

Поддержка std::atomic в g++ 4.4.3
Я использую g++ версии 4.4.3 в ОС Ubuntu. Согласно этой матрице здесь предполагается также поддержка std::atomic . Каждый раз, когда я использую #include <atomic> компилятор выдает мне ошибку и говорит error: atomic: No such file...
5407 просмотров
schedule 26.10.2022

Постоянное хранилище для простого и быстрого увеличения/уменьшения целых чисел
Существует ли какой-то постоянный ключ-значение, такой как хранилище, которое позволяет быстро и легко увеличивать, уменьшать и извлекать целые числа (и ничего больше). Я знаю, что мог бы реализовать что-то с базой данных SQL, но я вижу в этом два...
65 просмотров
schedule 08.12.2022

Существуют ли какие-либо атомарные операции javascript для работы с асинхронной природой Ajax?
Я динамически загружаю код (функции) с сервера и выполняю его как код javascript, затем сохраняю его в массиве и выполняю. Все эти фрагменты кода должны быть выполнены ровно один раз. Псевдокод следует как таковой function fetch(foo){ if...
13025 просмотров
schedule 10.11.2023

Это правильный способ атомарного чтения и записи логического значения?
Логический флаг переключается двумя потоками. Имеет ли следующий код смысл? static bool ATOMIC_BOOL_READ( volatile bool& var ) { return __sync_fetch_and_or(&var, 0); } static void ATOMIC_BOOL_WRITE(volatile bool& var, bool newval...
4668 просмотров
schedule 09.02.2024

Redis, разрешать операции только с существующими ключами
Я использую пакет python (redis-py) для работы с базой данных Redis. У меня есть куча клиентов, которые устанавливают ключи и значения хеша в Redis. Я хочу, чтобы они устанавливали ключи и значения только тогда, когда существует хэш. Если хэш не...
4489 просмотров
schedule 15.05.2024

Составные атомарные операции
Я хочу составить операции, которые могут дать сбой, но есть способ отката. Например, внешний звонок для бронирования номера в гостинице и внешний звонок для снятия средств с кредитной карты. Оба эти вызова могут завершиться неудачно, например,...
370 просмотров
schedule 08.04.2024

ошибка: идентификатор atomicAdd не определен в Visual Studio 2010 и cuda 4.2 с графическим процессором Fermi
Я пытался скомпилировать некоторые коды CUDA в Visual Studio 2010 с помощью CUDA 4.2 (я создал этот проект CUDA с помощью Parallel Nsight 2.2), но столкнулся с атомарной проблемой «ошибка: идентификатор« atomicAdd »is undefined», которую я все еще не...
14885 просмотров

Что означает каждый memory_order?
Я прочитал главу, и она мне не очень понравилась. Я до сих пор не понимаю, в чем разница между каждым порядком памяти. Это мое текущее предположение, которое я понял после прочтения гораздо более простого...
29321 просмотров
schedule 10.05.2024

C++ Создание атомарной функции
void foo ( Bar* bar , void(Bar::*qux)(void) ) { if ( bar ) { bar->qux(); } } Проблема в: bar можно удалить после проверки другим потоком. Я не могу добавить члена мьютекса в Bar , чтобы заблокировать его....
9712 просмотров
schedule 20.09.2022

Как реализовать атомарное приращение указателя на целое число с помощью С++ 11 ‹atomic›?
При переносе некоторого кода Windows C++ на iOS мне нужно предоставить реализацию вызова Win32 long InterlockedIncrement(long *p) . Это достаточно легко сделать с помощью функций, определенных в <libkern/OSAtomic.h> . Однако мне интересно,...
14281 просмотров
schedule 06.03.2024

Есть ли способ запускать код атомарно в Objective-C?
Я пытаюсь оптимизировать фрагмент кода, который загружает много изображений с жесткого диска и выполняет над ним некоторые вычисления. Моей первой попыткой ускорить процесс было создание NSOperationQueue для загрузки и выполнения вычислений в...
186 просмотров
schedule 23.11.2022

Путаница по поводу ошибки реализации в деструкторе shared_ptr
Я только что посмотрел доклад Херба Саттера: C ++ и последующие версии 2012: Херб Саттер - atomic‹> Оружие, 2 из 2 Он показывает ошибку в реализации деструктора std :: shared_ptr: if( control_block_ptr->refs.fetch_sub(1,...
825 просмотров
schedule 10.11.2023

Реализация addAndGet в классе AtomicInteger
Я просматривал исходный код Java (Java 6) для метода addAndGet в классе AtomicInteger . Соответствующий код был следующим: public final int addAndGet(int delta) { for (;;) { int current = get(); int next = current +...
1412 просмотров
schedule 19.03.2024

Boost atomic 128-битный атомарный тип x86_64
Как использовать шаблон boost::atomic‹>, чтобы получить настоящий 128-битный (16-байтовый) CAS, загрузить и сохранить? Проблема в том, что даже атомная библиотека hard boost 1.55.0 говорит, что теперь поддерживает 128 бит. Я получаю только реализацию...
814 просмотров
schedule 19.11.2023

Являются ли множественные вставки mysql в одном запросе атомарными?
Я делаю несколько вставок в один запрос: INSERT INTO table (c1, c2) VALUES (1,2), (2,3), (3,4),...... ON DUPLICATE KEY UPDATE c2 = VALUES(c2) Теперь предположим,...
12041 просмотров
schedule 02.10.2022

Атомарное увеличение столбца баланса
MS SQL Server 2008 R2 Скажем, у нас есть следующие таблицы: **MoneyTransactions** - Amount (int) - CustomerId (int) ... Customers - Id (int) - balance (int) ... Является ли следующая операция потокобезопасной, если выполняется...
365 просмотров
schedule 01.11.2023

Как получить идентификатор текущего потока без AppDomain.GetCurrentThreadId(), чтобы он действительно работал?
Поскольку AppDomin.GetCurrentThreadId() устарел «AppDomain.GetCurrentThreadId устарел, поскольку он не предоставляет стабильный идентификатор, когда управляемые потоки выполняются на волокнах (также называемых облегченными потоками). Чтобы...
3309 просмотров
schedule 28.11.2022