Вопросы с тегом 'atomicity'

При параллельном программировании операция (или набор операций) является атомарной, линеаризуемой, неделимой или бесперебойной, если она появляется в остальной части системы мгновенно. Атоматичность - это гарантия изоляции от параллельных процессов. Кроме того, атомарные операции обычно имеют определение "преуспевать или неудачно" - они либо успешно изменяют состояние системы, либо не имеют видимого эффекта.
4

Является ли файл append атомарным в UNIX?

В общем, что мы можем считать само собой разумеющимся, когда добавляем к файлу в UNIX из нескольких процессов? Возможно ли потерять данные (один процесс перезаписывает другие изменения)? Возможно ли, чтобы данные были искалечены? (Например, каждый пр...
20 июл. '09 в 16:07
4

назначение ссылок атомарно, поэтому почему Interlocked.Exchange(ref Object, Object) необходимо?

В моей многопоточной веб-службе asmx у меня было поле класса _allData моего собственного типа SystemData, которое состоит из нескольких List<T> и Dictionary<T>, помеченных как volatile. Системные данные (_allData) обновляются раз в то вр...
03 февр. '10 в 13:23
6

Когда мне действительно нужно использовать atom <bool> вместо bool?

Является ли atomic<bool> избыточным, потому что bool является атомарным по своей природе? Я не думаю, что возможно иметь частично измененное значение bool. Когда мне действительно нужно использовать atomic<bool> вместо bool?
01 мая '13 в 15:12
3

Какие операции в Java считаются атомными?

Какие операции в Java считаются атомными?
21 янв. '11 в 7:49
5

Является ли rename() атомарным?

Я не могу проверить это с помощью экспериментов и не могу собрать это со страниц руководства. Скажем, у меня есть два процесса, один перемещает (переименовывает) файл1 из каталога1 в каталог2. Скажем, другой процесс, выполняющийся одновременно, коп...
14 авг. '11 в 3:38
12

В C есть "i + = 1;" атомное?

В C, i+=1; atomic?
24 нояб. '09 в 13:53
4

Как выполняются атомные операции на аппаратном уровне?

Я получаю, что на уровне ассемблера архитектуры набора инструкций обеспечивают операции сравнения и свопинга и аналогичные операции. Однако я не понимаю, как чип может предоставить эти гарантии. Как мне кажется, выполнение инструкции должно Получи...
07 февр. '13 в 18:13
8

Выбирать несколько значений из структуры данных Redis атомарно?

Существует ли структура данных Redis, которая позволила бы атомизировать работу с popping (get + remove) несколькими элементами, которые она содержит? Известны SPOP или RPOP, но они всегда возвращают одно значение. Поэтому, когда мне нужны первые N ...
16 дек. '13 в 21:58
3

Django - откат с транзакцией Atom

Я пытаюсь создать представление, в котором я сохраняю объект, но я хотел бы отменить его, если будет создано какое-то исключение. Это то, что я пробовал: class MyView(View): @transation.atomic def post(self, request, *args, **kwargs): ...
11 янв. '16 в 20:22
4

Является ли определение оператора "switch" безопасным для потоков?

Рассмотрим следующий пример кода: class MyClass { public long x; public void DoWork() { switch (x) { case 0xFF00000000L: // do whatever... break; case 0xFFL: ...
11 июл. '11 в 8:38
2

Haskell: Как работает "atomicModifyIORef"?

Может кто-нибудь объяснить, как работает atomicModifyIORef? В частности: (1) Дождаться блокировки или оптимистично попытаться повторить попытку, если есть конкуренция (например, TVar). (2) Почему подпись atomicModifyIORef отличается от подписи modi...
11 апр. '12 в 9:01
5

Атомные свойства vs потокобезопасные в Objective-C

В большинстве обсуждений, которые я прочитал, это указывает на то, что создание атома атома не гарантирует его потокобезопасности, оно просто гарантирует, что возвращаемое значение не будет мусором в результате записи одного объекта в он и другой пыт...
13 янв. '14 в 18:19
5

Избегайте дублирования POST с REST

Я использую POST в REST API для создания объектов. Время от времени сервер будет создавать объект, но клиент будет отключен, прежде чем получит ответ 201 Created. Клиент видит только неудачный запрос POST и повторяет попытку позже, и сервер с радост...
01 мар. '13 в 13:46
2

сравнивать и свопировать vs test и устанавливать

Может ли кто-нибудь объяснить мне работу и различия вышеперечисленных операций в многопоточности?
07 сент. '10 в 14:03
3

std:: atomic <int> декремент и сравнение

В следующем коде: std::atomic<int> myint; //Shared variable //(...) if( --myint == 0) { //Code block B } Возможно ли, что более одного потока обращается к блоку, который я назвал "Code Block B"? Пожалуйста, учтите, что переполнение не п...
26 окт. '11 в 18:47