Создаю объект new
std :: thread, а затем detach()
. Нить выполняется в течение произвольного промежутка времени, а затем завершается. Так как я создал объект с new
, мне нужно до delete
его в какой-то момент, чтобы высвободить свои ресурсы? Или собственно нить эффективно delete
по окончании?Отключен ли std :: thread после его завершения?
Если это действительно эффективно delete
, произойдет что-то плохое, если я явно delete
после его окончания?
Будьте осторожны, вы используете слово «это», и иногда трудно сказать, означает сам поток или объект std :: thread. –
Хороший способ запустить отдельный поток: 'std :: thread (f, a0, a1, ...). Detach();' Нет необходимости его обновлять. Не нужно удалять его. Нет шансов забыть «отсоединить»() 'it. У вас нет шансов на исключение исключения между вашей конструкцией и точкой отсоединения. –
@DavidSchwartz не уверен, что я понимаю - почему поток и объект std :: thread разные? –