有8种方式使进程终止,其中前5种为正常终止,它们是
1:从 main 返回
2:调用 exit(int x), 程序返回码是x。
3:调用 _exit(int) 或 _Exit(int)
4:最后一个线程从其启动例程返回
5:最后一个线程调用pthread_exit
异常终止有3种,它们是
6:调用 abort
7:接到一个信号并终止
8:最后一个线程对取消请求做出响应
#include <iostream>
#include <pthread.h>
using namespace std;
void* fun4(void* arg)
{
cout<<"fun4 begin"<<endl;
pthread_exit(arg);
cout<<"fun4 end"<<endl;
return NULL;
}
int main(int argc, const char * argv[]) {
// insert code here...
pthread_t pid;
pthread_create(&pid, NULL, fun4, NULL);
pthread_join(pid, NULL);
cout<<"main end"<<endl;
return 0;
}
运行结果:
fun4 begin
main end
Program ended with exit code: 0