1、非分离线程
使用pthread_create创建线程时,默认是非分离线程,因此在创建线程后,程序将对线程执行 pthread_join()。
可以使用 pthread_attr_setdetachstate(&tattr,PTHREAD_CREATE_JOINABLE );来明确使用非分离线程。
非分离线程在终止后,必须要有一个线程用 join 来等待它。否则,不会释放该线程的资源以供新线程使用,而这通常会导致内存泄漏。因此,如果不希望线程被等待,请将该线程作为分离线程来创建。
2、分离线程
设置分离线程
#include <pthread.h>
pthread_attr_t tattr;
pthread_t tid;
void *start_routine;
void arg