Результаты поиска по запросу "atomic"

1 ответ

Каков наилучший способ обеспечить перезагрузку UITableView атомарно?

Я получил UITableView, источник данных которого обновляется через случайные интервалы за очень короткий период времени. По мере обнаружения новых объектов они добавляются в источник данных tableView, и я вставляю конкретный ...

1 ответ

Android: получите атомное время

Я пытаюсь получить атомное время для приложения для Android. я использую http://hi-android.info/src/android/net/SntpClient.java.html [http://hi-android.info/src/android/net/SntpClient.java.html]как клиент NTP и следующий код для реализации NTP (= ...

0 ответов

@PeterCordes Хороший вопрос, я отредактировал ответ, чтобы указать, какие хранилища / загрузки гарантированно будут атомарными.

(и в нескольких SO) я вижу, что C ++ не поддерживает что-то вроде без блокировки [http://en.cppreference.com/w/cpp/atomic/atomic_is_lock_free]и еще не может поддерживать что-то вроде атомарного вектора AVX / SSE, потому что он зависит ...

ТОП публикаций

0 ответов

@IwillnotexistIdonotexist: Хорошо заметили. Я думаю, это означает, что вы можете получить одну широкую запись MMIO для смежных немаскированных элементов или две узкие. Но выполнение одного выровненного 8-байтового атомарного хранилища все же дает атомарность для 4-байтовых половинок, хотя для MMIO это не так. Поэтому я не думаю, что это исключает атомарность для каждого элемента, потому что специфичная для реализации часть может быть только объединением хранилищ элементов в более широкие и все еще атомарные хранилища.

отрим массив какatomic<int32_t> shared_array[], Что делать, если вы хотите SIMD векторизацииfor(...) sum += shared_array[i].load(memory_order_relaxed)?. Или искать в массиве первый ненулевой элемент или обнулять его диапазон? Это, вероятно, ...

2 ответа

 из-за недостаточного размера буфера трубы.

аюсь выбирать междутрубы а такжеUnix сокеты для механизма IPC. Оба поддерживаютselect() а такжеepoll() функции, это здорово. Теперь каналы имеют 4-килобайтную (на сегодняшний день) «атомарную» запись, что гарантируется ядром Linux. Существует ли ...

1 ответ

Это правильно. Он использует стратегию, называемую «чередование блокировок», для уменьшения конкуренции за глобальную блокировку хранения. Это все еще довольно медленно, поэтому, если у вас есть объект с очень большим оттоком перерасчета, может быть целесообразно внедрить собственную систему перерасчета. Это не особенно сложно (используйте OSAtomicIncrement () и друзей), но вы потеряете возможность проверять историю пересчетов в Инструментах для этих объектов.

тся ли метод сохранения NSObject атомарным? Например, при сохранении одного и того же объекта из двух разных потоков обещано ли, что количество сохраненных данных увеличилось в два раза, или можно увеличить число сохраненных только один ...

1 ответ

@PeterCordes Я полностью согласен .. Безопасно использовать односторонний барьерный подход для описания того, как все работает. Это также (по крайней мере, для меня) самый простой способ визуализации вещей.

ели памяти C ++ существует общий порядок для всех загрузок и хранилищ всех последовательно согласованных операций. Мне интересно, как это взаимодействует с операциями, которые имеют другие упорядочения памяти, которые упорядочены до / после ...

1 ответ

"остаток> 0? остаток: остаток + n;" в этом выражении есть ли причина добавлять остаток к n, когда он равен 0?

де понимаю, что AtomicInteger и другие переменные Atomic допускают одновременный доступ. В каких случаях этот класс обычно используется?

1 ответ

 а также

file_put_contents ( "file", "data", LOCK_EX )аписи (что означает - aquire lock and write) file_get_contents ( "file", LOCK_EX )для чтения (что означает - замок Aquire, а затем читать) это исключение? поднять ошибку? блокировать до блокировки? ...

1 ответ

 в том, что он не даст компилятору оптимизировать, даже если это совершенно нормально.

ю, что volatile не обеспечивает атомарность для int, например, но делает ли это, если вы обращаетесь к одному байту? Семантика требует, чтобы записи и чтения всегда были из памяти, если я правильно помню. Или другими словами: процессоры читают и ...