История изменений
Исправление
dzidzitop,
(текущая версия)
:
Мне не поможет потому что не захочу статический мьютекс для такого случая.
А так сам мьютекс не может нестатические функции вызывать. А в конструкторе объекта лочиться на статический мьютекс можно, потому что он гарантированно в инициализированном (видимом) состоянии.
В общем нужна будет дополнительная синхронизация в этих условиях. Или кастомный мьютекс, чтобы не заводить лишнюю переменную и при этом не иметь лишние барьеры памяти.
Дополнительная синхронизация, чтобы прочитать мьютекс, и потом уже синхронизироваться на мьютекс через три инструкции - это сильно.
Исходная версия
dzidzitop,
:
Мне не поможет потому что не захочу статический мьютекс для такого случая.
А так сам мьютекс не может нестатические функции вызывать. А в конструкторе объекта лочиться на статический мьютекс можно, потому что он гарантированно в инициализированном (видимом) состоянии.
В общем нужна будет дополнительная синхронизация в этих условиях. Или кастомный мьютекс, чтобы не заводить лишнюю переменную и при этом не иметь лишние барьеры памяти.