1

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

4

1 回答 1

3

pthread_t传递给的对象pthread_join()必须引用一个可连接的线程。所以你需要自己跟踪 - 在 pthread_t 对象旁边保留一个标志以跟踪它是否被使用(也许将标志与 pthread_t 一起打包在一个结构中)。

请记住,除了pthread_t尚未使用对象之外,如果您从线程分离或加入线程,您还需要清除标志(我不确定这是否是pthread_t对象何时变为 '的详尽列表不可加入'...)。

于 2012-04-22T19:01:15.553 回答