Является ли следующее безопасным?
Я новичок в потоковой передаче, и я хочу делегировать процесс, требующий много времени, в отдельный поток в моей программе на С++. Используя библиотеки boost, я написал код примерно так:
thrd = new boost:: thread (boost:: bind (& myclass:: mymethod, this, & final_flag);
Где final_flag является логическим членом моего класса. Когда поток завершен, он устанавливает значение, и основной цикл моей программы проверяет изменение этого значения. Я предполагаю, что это нормально, потому что я только начинаю один поток, и этот поток - единственное, что изменяет значение (за исключением того, когда оно инициализируется до начала потока) Так это хорошо, или я что-то упускаю, и мне нужно использовать блокировки и мьютексы и т.д.