当主线程调用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 停止运行,进程退出了。

 

相关文章:

  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
  • 2022-03-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-12
猜你喜欢
  • 2021-05-23
  • 2022-12-23
  • 2021-12-19
  • 2021-12-01
  • 2022-12-23
  • 2021-08-20
相关资源
相似解决方案