История изменений
Исправление trex6, (текущая версия) :
Такой подход будет работать в некоторых случаях. Возможно, даже очень часто.
Но у вас все еще остается проблема с «happens before» между потоками.
Вам необходимо разобраться с правильными подходами при разработке кода для многопоточной среды.
Я рекомендую обратить внимание вот на эту книжку https://www.amazon.com/C-Concurrency-Action-Practical-Multithreading/dp/19339...
Книга есть на русском языке и помогает понять основы многопоточного программирования в С++.
P.S. С точки зрения архитектуры, любое решение с глобальными переменными «пахнет плохо».
Исходная версия trex6, :
Такой подход будет работать в некоторых случаях. Возможно, даже очень часто.
Но у вас все еще остается проблема с «happens before» между потоками.
Вам необходимо разобраться с правильными подходами при разработке кода для многопоточной среды.
Я рекомендую обратить внимание вот на эту книжку https://www.amazon.com/C-Concurrency-Action-Practical-Multithreading/dp/19339...
Книга есть на русском языке и помогает понять основы многопоточного программирования в С++.