c - 是否可以确定 pthread_t 结构是否未使用?

标签 c struct pthreads

是否可以确定我声明的 pthread_t 结构是否未使用?我有一个 pthread_t 结构数组,在我的程序结束时,我对每个结构调用 pthread_join(),但如果其中一些从未使用过,我不想对它们调用 pthread_join()。判断 pthread_t 结构是否未被使用的最佳方法是什么?

最佳答案

传递给 pthread_join()pthread_t 对象必须引用可连接的线程。因此,您需要自己进行跟踪 - 在 pthread_t 对象旁边保留一个标志以跟踪它是否被使用(可能将该标志与 pthread_t 打包在一个结构中)。

请记住,除了尚未使用 pthread_t 对象外,如果您脱离或加入线程,您还需要清除标志(我不确定是否这是一个详尽的列表,说明何时 pthread_t 对象变为“不可连接”...)。

关于c - 是否可以确定 pthread_t 结构是否未使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271044/

相关文章:

arrays - 是否可以在结构中定义一个数组,其大小基于给定的变量?

C : Working with structures and pointers , 错误:一元 ‘*’ 的无效类型参数

c - 别名结构成员

c - 哲学家餐饮计划C

c - pthread 数组 - 线程是否仍处于事件状态?

linux - 如何摆脱 libthread_db

c - 我尝试连接两个数组 arr[5] 和 brr[5] s.t. "brr"的元素放在 "arr"之后...编译成功但不运行

c - 在 C 中调整基于刻度的模拟中的刻度频率

C - 使用 strtok 的嵌套循环

c - 在结构中重新分配数组