linux C++ pthread线程操作入门

线程操作:
我们要做的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
发布了148 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44580977/article/details/103578759