线程操作:
我们要做的1.创建线程
2.线程阻塞 (当线程结束后,主线程才结束)
3.线程返回 (获取线程返回的内容)
// 函数的格式必须是这样的. void* name(void * param)
void *semopFun(void *param)
{
cout << "NIHao" << endl;
sleep(1);
cout<<"thread out"<<endl;
/*
线程结束后,传值出去,
给pthread_join()的参数2
*/
pthread_exit((void *)1);
}
int main()
{
pthread_t semop_threadID = NULL;
pthread_create(&semop_threadID, NULL, semopFun, NULL);
/*
pthread_join
参数1:线程标识符
参数2:pthread_exit()参数返回
如果线程还未运行完毕主线程会被阻塞在此,不再向下执行.
*/
void *p = NULL;
pthread_join(semop_threadID, &p);
cout << "p: " <<(int*) p << endl;
cout << "OVER" << endl;
return 0;
}
运行结果:
NIHao
thread out
p: 0x1
OVER