Устанавливается ли значение, указывающее, что поток завершился безопасно?C++

Программы на C++. Форум разработчиков
Гость
Устанавливается ли значение, указывающее, что поток завершился безопасно?

Сообщение Гость »


Я хочу делегировать трудоемкий процесс в отдельный поток моей программы на C++. Используя библиотеки boost, я написал примерно такой код:

thrd = new boost::thread(boost::bind(&myclass::mymethod, this, &finished_flag); Где finished_flag — член bool моего класса. Когда поток завершается, он устанавливает значение, и основной цикл моей программы проверяет изменение этого значения.

Я предполагаю, что это нормально, потому что я запускаю только один поток, и этот поток — единственное, что меняет значение (за исключением случаев, когда он инициализируется до того, как я запускаю поток)

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

Вернуться в «C++»