Actions
Bug #300
openАтомарность работы со ссылками
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 и его подпакеты
Actions