Я прав, что я также могу изменить этот pthread на отдельный pthread?
Да, это правильно.
Если это так, как я могу проверить, является ли соединение pthread возможным?
Вы не можете, и просить об этом не имеет никакого смысла. Если у вас нет сопутствующего pthread, который вы знаете по факту, он еще не соединен, вам не нужно проверять pthread. Отсоединенный или соединенный, pthread может больше не существовать, поэтому для вас нет «pthread».
Невозможно проверить, является ли то, что может или не может быть потоком, является потоком. Люди, которые предлагают иначе, просят вас полагаться на поведение, которое не гарантируется, и это было бы крайне глупо.
И как я могу изменить pthread от присоединенного к отсоединенному?
Вы можете отсоединить его, или он может отсоединиться, в любое время, позвонив по телефону pthread_detach
. Наиболее распространенным является то, что что-то владеет нитью, и эта вещь отвечает за присоединение потока, когда оно закончено (или завершено). Если вы просто хотите, чтобы поток работал до тех пор, пока он не будет выполняться без какого-либо контроля или владения, отсоедините его или отделите.
Возможно, стоит упомянуть, что POSIX считает «pthread_join' [удобством]» (http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_join.html # tag_16_432_08), а не необходимость. Другими словами, вы можете переделать свой путь из этого вопроса, если ответы не то, что вам нравится. – pilcrow