#pthreads #posix
#pthreads #posix
Вопрос:
Я хотел знать, будет ли pthread_detach останавливать родительский поток до тех пор, пока дочерний поток не завершится, или он продолжит выполнение ??… Поскольку pthread_join ожидает завершения дочернего потока, а затем продолжает…
Ответ №1:
Я полагаю, что цель pthread_detach — указать, что вы не собираетесь вызывать pthread_join в данном потоке. Он не блокируется. Вы бы сделали это, потому что реализация pthread должна отслеживать тот факт, что поток завершился, и какое значение для его завершения в случае более позднего pthread_join . Поэтому вам следует либо вызвать pthread_join, чтобы освободить это пространство во внутренней структуре данных, либо вызвать pthread_detach, чтобы указать, что пространство не должно быть зарезервировано.