如何管理这样的线程:
thread th(foo);
while(th.joinable())
{
// thread foo is active;
// some printing from foo function for example
}
th.join();
这个while
是无限的,因为th.joinable()始终为true而不是更新。是什么原因以及如何解决这个问题?
答案 0 :(得分:0)
正如Joachim指出的那样,只要线程尚未连接(或默认构造),joinable()就为真。
根据我的理解你的要求(来自你的评论),你可以在没有while循环的情况下调用th.join()。这会阻塞,直到foo完成。