Project

General

Profile

Bug #300

Атомарность работы со ссылками

Added by Sergey Groshev over 9 years ago. Updated about 9 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
Start date:
07/09/2010
Due date:
% Done:

0%

Estimated time:
Detected in build:
2.8.304-beta-100706
Platform:
Published in build:

Description

В ходе работы над проектом Distributed FSM обнаружены множественные проблемы с неатомарностью операций r, destroy и detach_Object. Для обхождения этих ошибок пока что используется клонирование объектов (чтобы разные потоки работали с разными объектами) и семафоры.

Необходимо продумать и реализовать механизмы (возможно, разные для разных платформ), обеспечивающие атомарность в многопоточном режиме с приемлемой производительностью. Используемый на данный момент механизм threadlocal не помогает. Использование семафоров для каждой такой операции будет, предположительно, слишком неэффективным.

Потенциально полезные средства:
  • atomic increment/decrement
  • atomic get & set, compare & set
  • использование одного выделенного потока для сборки мусора (в первую очередь для поиска графов ссылающихся друг на друга недостижимых объектов и уничтожения их)
  • ??? Смотрим, например, Java-пакеты java.util.concurrent и его подпакеты

History

#1

Updated by Alexey Demakov over 9 years ago

  • Detected in build changed from ctesk_2_8_304_beta_100706 to 2.8.304-beta-100706
#2

Updated by Alexey Demakov over 9 years ago

  • Target version set to 2.9

Also available in: Atom PDF