pthread_exit

当主线程调用pthread_exit时,其余线程不退出,继续执行

当主线程调用exit/或return时,其余线程退出,整个进程都退出了。

 1 #include <pthread.h>
 2 #include <stdio.h>
 3 #include<stdlib.h>
 4 #include <unistd.h>
 5 
 6 #include <pthread.h>
 7 
 8 void* new_thread(void* arg)
 9 {
10     while(1)
11     {   
12         printf("new thread
");
13         fflush(stdout);
14         sleep(2);
15     }   
16     return NULL;
17 }
18 
19 int main(void)
20 {
21     pthread_t tid;
22 
23     int err = pthread_create(&tid, NULL, new_thread, (void *)4);
24     sleep(5);
25     printf("call pthread_exit
");
26     fflush(stdout);
27     //pthread_exit(NULL);
28 
29     return 0;
30 }

当mian中条用pthread_exit 时,new_thread 继续运行。

当main中直接return时,new_thread 停止运行,进程退出了。

原文地址:https://www.cnblogs.com/diegodu/p/3890121.html