Устанавливается ли значение, указывающее, что поток завершился безопасно? ⇐ C++
Устанавливается ли значение, указывающее, что поток завершился безопасно?
Я хочу делегировать трудоемкий процесс в отдельный поток моей программы на C++. Используя библиотеки boost, я написал примерно такой код:
thrd = new boost::thread(boost::bind(&myclass::mymethod, this, &finished_flag); Где finished_flag — член bool моего класса. Когда поток завершается, он устанавливает значение, и основной цикл моей программы проверяет изменение этого значения.
Я предполагаю, что это нормально, потому что я запускаю только один поток, и этот поток — единственное, что меняет значение (за исключением случаев, когда он инициализируется до того, как я запускаю поток)
Так это нормально, или я что-то упустил и нужно использовать блокировки, мьютексы и т. д.?
Я хочу делегировать трудоемкий процесс в отдельный поток моей программы на C++. Используя библиотеки boost, я написал примерно такой код:
thrd = new boost::thread(boost::bind(&myclass::mymethod, this, &finished_flag); Где finished_flag — член bool моего класса. Когда поток завершается, он устанавливает значение, и основной цикл моей программы проверяет изменение этого значения.
Я предполагаю, что это нормально, потому что я запускаю только один поток, и этот поток — единственное, что меняет значение (за исключением случаев, когда он инициализируется до того, как я запускаю поток)
Так это нормально, или я что-то упустил и нужно использовать блокировки, мьютексы и т. д.?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Регулярное выражение, указывающее, что длина данных должна быть 12 или 14, но не 13.
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-