在可能尚未创建的pthread_t上调用pthread_join
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在可能尚未创建的pthread_t上调用pthread_join相关的知识,希望对你有一定的参考价值。
我们有一个具有受保护的pthread_t变量的类。一旦构造了该类,pthread_t就会存在,但它没有分配给它的ID,这就是pthread_create的作用。
在这种情况下,可以在pthread_t变量上调用pthread_join吗?
如果我正确理解了pthread_join的手册页,它应该返回一个ESRCH错误,但是这个手册页可以用不同的方式解释。
答案
pthread_t只是unsigned long int,因此在声明期间用0值初始化它。现在就在pthread_join之前检查它是否为非零。如果它为零则不调用pthread_create。
以上是关于在可能尚未创建的pthread_t上调用pthread_join的主要内容,如果未能解决你的问题,请参考以下文章
linux C语言 pthread_t pthread_self()函数(获取调用线程的ID) pthread_equal() 线程id(thread ID)
为啥在测试数据上调用 transform() 会给出数据尚未拟合的错误?
linux C语言 pthread_t pthread_self()函数(获取调用线程的ID) pthread_equal() 线程id(thread ID)