线程的终止可以调用pthread_exit函数来结束。
也就是说,一个线程可以隐式的退出,也可以显式的调用pthread_exit函数来退出。
pthread_exit函数唯一的参数value_ptr是函数的返回代码。
#include <pthread.h>
void pthread_exit(void *retval);
代码:
/*thread.c*/
#include <stdio.h>
#include <pthread.h>
/*线程一*/
void thread_1(void)
{
int i=0;
for(i=0;i<=6;i++)
{
printf("This is a pthread_1.\n");
if(i==2)
pthread_exit(0);
sleep(1);
}
}
/*线程二*/
void thread_2(void)
{
int i;
for(i=0;i<3;i++)
printf("This is a pthread_2.\n");
//用pthread_exit()来调用线程的返回值,用来退出线程,但是退出线程所占用的资源不会随着线程的终止而得到释放
pthread_exit(0);
}
int main(void)
{
pthread_t id_1,id_2