Результаты поиска по запросу "atomic"
Каков наилучший способ обеспечить перезагрузку UITableView атомарно?
Я получил UITableView, источник данных которого обновляется через случайные интервалы за очень короткий период времени. По мере обнаружения новых объектов они добавляются в источник данных tableView, и я вставляю конкретный ...
Android: получите атомное время
Я пытаюсь получить атомное время для приложения для Android. я использую http://hi-android.info/src/android/net/SntpClient.java.html [http://hi-android.info/src/android/net/SntpClient.java.html]как клиент NTP и следующий код для реализации NTP (= ...
@PeterCordes Хороший вопрос, я отредактировал ответ, чтобы указать, какие хранилища / загрузки гарантированно будут атомарными.
(и в нескольких SO) я вижу, что C ++ не поддерживает что-то вроде без блокировки [http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free]и еще не может поддерживать что-то вроде атомарного вектора AVX / SSE, потому что он зависит ...
@IwillnotexistIdonotexist: Хорошо заметили. Я думаю, это означает, что вы можете получить одну широкую запись MMIO для смежных немаскированных элементов или две узкие. Но выполнение одного выровненного 8-байтового атомарного хранилища все же дает атомарность для 4-байтовых половинок, хотя для MMIO это не так. Поэтому я не думаю, что это исключает атомарность для каждого элемента, потому что специфичная для реализации часть может быть только объединением хранилищ элементов в более широкие и все еще атомарные хранилища.
отрим массив какatomic<int32_t> shared_array[], Что делать, если вы хотите SIMD векторизацииfor(...) sum += shared_array[i].load(memory_order_relaxed)?. Или искать в массиве первый ненулевой элемент или обнулять его диапазон? Это, вероятно, ...
из-за недостаточного размера буфера трубы.
аюсь выбирать междутрубы а такжеUnix сокеты для механизма IPC. Оба поддерживаютselect() а такжеepoll() функции, это здорово. Теперь каналы имеют 4-килобайтную (на сегодняшний день) «атомарную» запись, что гарантируется ядром Linux. Существует ли ...
Это правильно. Он использует стратегию, называемую «чередование блокировок», для уменьшения конкуренции за глобальную блокировку хранения. Это все еще довольно медленно, поэтому, если у вас есть объект с очень большим оттоком перерасчета, может быть целесообразно внедрить собственную систему перерасчета. Это не особенно сложно (используйте OSAtomicIncrement () и друзей), но вы потеряете возможность проверять историю пересчетов в Инструментах для этих объектов.
тся ли метод сохранения NSObject атомарным? Например, при сохранении одного и того же объекта из двух разных потоков обещано ли, что количество сохраненных данных увеличилось в два раза, или можно увеличить число сохраненных только один ...
@PeterCordes Я полностью согласен .. Безопасно использовать односторонний барьерный подход для описания того, как все работает. Это также (по крайней мере, для меня) самый простой способ визуализации вещей.
ели памяти C ++ существует общий порядок для всех загрузок и хранилищ всех последовательно согласованных операций. Мне интересно, как это взаимодействует с операциями, которые имеют другие упорядочения памяти, которые упорядочены до / после ...
"остаток> 0? остаток: остаток + n;" в этом выражении есть ли причина добавлять остаток к n, когда он равен 0?
де понимаю, что AtomicInteger и другие переменные Atomic допускают одновременный доступ. В каких случаях этот класс обычно используется?
а также
file_put_contents ( "file", "data", LOCK_EX )аписи (что означает - aquire lock and write) file_get_contents ( "file", LOCK_EX )для чтения (что означает - замок Aquire, а затем читать) это исключение? поднять ошибку? блокировать до блокировки? ...
в том, что он не даст компилятору оптимизировать, даже если это совершенно нормально.
ю, что volatile не обеспечивает атомарность для int, например, но делает ли это, если вы обращаетесь к одному байту? Семантика требует, чтобы записи и чтения всегда были из памяти, если я правильно помню. Или другими словами: процессоры читают и ...