线程控制—线程等待

  • Post author:
  • Post category:其他

为什么需要线程等待?

在学习进程的时候了解到僵尸进程,僵尸进程就是子进程先于父进程退出,子进程所占用的资源没有释放,会导致资源泄露,线程也是一样的,已经退出的线程,它所占用的系统资源并没有释放,导致资源泄露

线程等待:等待一个指针的线程退出,获取这个退出线程的返回值,并且回收这个退出线程的资源

注意:线程默认是joinable状态,join状态的线程退出后,不会自动释放资源,所以需要被其他的线程等待

pthread_join函数

int pthread_join(pthread_t tid, void** retval )   —–阻塞函数,若指定的线程没有退出,则一直等待

参数:tid表示要等待的指定线程的ID

           retval二级指针,用于获取线程返回的一级指针的返回值、

返回值: 成功返回0,失败返回错误码


版权声明:本文为XHumble原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。