История изменений
Исправление AndreyKl, (текущая версия) :
И да - если ты тоже считаешь (знаешь) что в плюсах с точки зрения многопоточности какая-то особая семантика, отличающаяся от вызова обычной функции, то потрудись, пожалуйста показать цитатку из стандарта.
Ещё раз кракто:
1) нет святой роли конструктора в многопоточности
2) но есть святая роль конструктора в инициализации
3) из чего следует что первичность инициализации нужно обеспечивать внешними средствами в многопоточном коде
4) я тебе привёл пример кода который показывает что в мьютексе (даже правильно работающем) смысла нет в конструкции которую ты считаешь правильной. Ты же продолжаешь упираться, не умея то ли читать, то ли признавать свои ошибки.
5) я _полагаю_, ты перепутал 1) и 2) и поэтому тебе кажется что тебя убеждают в святой роли конструктора в многопоточности.
---------
более подробно
Ты никак не можешь понять, никто не считает что конструктор чем то выделяется с т.з. многопоточности. Наоборот, он не выделяется. Но необходимо обеспечить вызов конструктора _до_ любого обращения к любому члену/методу создаваемого объекта.
А раз у конструктора нет никакого выделенного поведения относительно многопоточности, то единственный способ обеспечить такую очерёдность - это использование внешней синхронизации.
Я тебя ещё раз прошу привести пример кода в котором мьютекс (в том виде в котором ты его используешь/хочешь использвать) решал бы проблему, а отсутсвие мьютекса - вскрывало бы проблему.
И/или обрати внимание всё таки на мой код - там внешний заведомо рабочий мьюекс и всё равно UB при попытке подобной синхронизации.
Исходная версия AndreyKl, :
И да - если ты тоже считаешь (знаешь) что в плюсах с точки зрения многопоточности какая-то особая семантика, отличающаяся от вызова обычной функции, то потрудись, пожалуйста показать цитатку из стандарта.
ты никак не можешь понять, никто не считает что конструктор чем то выделяется с т.з. многопоточности. Наоборот, он не выделяется. Но необходимо обеспечить вызов конструктора _до_ любого обращения к любому члену/методу создаваемого объекта.
А раз у конструктора нет никакого выделенного поведения относительно многопоточности, то единственный способ обеспечить такую очерёдность - это использование внешней синхронизации.
Я тебя ещё раз прошу привести пример кода в котором мьютекс (в том виде в котором ты его используешь/хочешь использвать) решал бы проблему, а отсутсвие мьютекса - вскрывало бы проблему.
И обрати внимание всё таки на мой код - там внешний заведомо рабочий мьюекс и всё равно UB при попытке подобной синхронизации.