Ожидает ли pthread_detach завершения дочернего процесса, как это делает pthread_join? - PullRequest
1 голос
/ 01 октября 2011

Я хотел знать, будет ли pthread_detach останавливать родительский поток до тех пор, пока дочерний поток не завершится или он не продолжит выполнение ?? ... Как, pthread_join ожидает завершения дочернего потока и затем продолжения ...

1 Ответ

2 голосов
/ 01 октября 2011

Я считаю, что цель pthread_detach - указать, что вы не собираетесь вызывать pthread_join в данном потоке. Это не блокирует. Вы должны сделать это, потому что реализация pthread должна отслеживать тот факт, что поток завершился, и каково его значение выхода в случае более позднего pthread_join. Поэтому вам следует либо вызвать pthread_join, чтобы освободить это пространство во внутренней структуре данных, либо вызвать pthread_detach, чтобы указать, что это пространство не должно быть зарезервировано.

...