在可能尚未创建的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的主要内容,如果未能解决你的问题,请参考以下文章

jquery 验证尚未创建的元素

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)

延迟初始化健全性检查:变量可能尚未初始化

线程的创建与结束