История изменений
Исправление alysnix, (текущая версия) :
детач сделан для того, чтобы некий тред запускал один или несколько других тредов и помирал(например). то есть запущенные треды живут дальше, а тот, кто их запускал, не заботится об их существовании.
ты же делаешь детач, и зачем-то спрашиваешь - жив ли отсоединенный тред. то есть поступаешь вопреки логике detach.
если таки такое поведение нужно, то детачнутый тред должен взводить флаг, который мастерный тред например опрашивает. или какой-то обьект синхронизации, на котором можно делать ожидание… но ты таким образом эмулируешь поведение недетачнутого треда. единственно что тут можно сделать какой-то таймаут ожидания завершения.
опять же надо понимать, что если тред взвел флаг - значит он еще работает. и мастерный тред не может увидя взведенный флаг каким-то образом прибивать ресурсы того, кто флаг взводит.
то есть флаг говорит о том, что тред близок к завершению, но не завершился.
Исходная версия alysnix, :
детач сделан для того, чтобы некий тред запускал один или несколько других тредов и помирал(например). то есть запущенные треды живут дальше, а тот, кто их запускал, не заботится об их существовании.
ты же делаешь детач, и зачем-то спрашиваешь - жив ли отсоединенный тред. то есть поступаешь вопреки логике detach.
если таки такое поведение нужно, то детачнутый тред должен взводить флаг, который мастерный тред например опрашивает. или какой-то обьект синхронизации, на котором можно делать ожидание… но ты таким образом эмулируешь поведение недетачнутого треда. единственно что тут можно сделать какой-то таймаут ожидания завершения.
опять же надо понимать, что если тред взвел флаг - значит он еще работает. и мастерный тред не может увидя взведенный флаг каким-то образом прибивать ресурсы того, кто флаг взводит.