zl程序教程

您现在的位置是:首页 >  其它

当前栏目

pthread_exit

exit pthread
2023-09-11 14:17:25 时间

当主线程调用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\n");
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\n");
26     fflush(stdout);
27     //pthread_exit(NULL);
28 
29     return 0;
30 }

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

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