Вверх ↑
Ответов: 4629
Рейтинг: 749
#1: 2019-01-11 13:42:21 ЛС | профиль | цитата
Потоки в контейнере должны будут делать два выхода из контейнера на увеличение и уменьшение счетчика. Каждый выход из контейнера все равно должен будет оформлен SafeMode.

Можно сделать ещё один тип динамического контейнера "потокобезопасный", когда в коде контейнера уже применяется критическая секция при активизиции/добавлении/уничтожении копии внутренней схемы. Но тут тоже есть потенциальные комбинации с deadlock - если внутри перед выходом или снаружи после выхода параллельный поток обращается к главному потоку, а главный поток обращается в это время к контейнеру, входы которого тоже защищены критической секцией. Требуется очень много думать. И главное - иметь примеры для тестирования.
карма: 26

0
Редактировалось 1 раз(а), последний 2019-01-11 14:03:31