LINUX.ORG.RU

История изменений

Исправление dzidzitop, (текущая версия) :

Мне не поможет потому что не захочу статический мьютекс для такого случая.

А так сам мьютекс не может нестатические функции вызывать. А в конструкторе объекта лочиться на статический мьютекс можно, потому что он гарантированно в инициализированном (видимом) состоянии.

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

Дополнительная синхронизация, чтобы прочитать мьютекс, и потом уже синхронизироваться на мьютекс через три инструкции - это сильно.

Исходная версия dzidzitop, :

Мне не поможет потому что не захочу статический мьютекс для такого случая.

А так сам мьютекс не может нестатические функции вызывать. А в конструкторе объекта лочиться на статический мьютекс можно, потому что он гарантированно в инициализированном (видимом) состоянии.

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