检查线程是否完成的正确方法?

jma*_*erx 6 c c++ windows multithreading

我正在使用_beginthread在我的应用程序中使用多线程,现在等到所有线程都完成后,我有全局bool,当每个线程完成时设置为true,所以我在while循环之前.必须有一个更清洁的方式这样做?

谢谢

cpx*_*cpx 8

您可以使用WaitForMultipleObjects等待主线程中的线程完成.

  • 不,不要打电话给OpenThread!如果线程已经退出并且ID被重新分配,那么最终可能会得到一个不同随机线程的句柄.使用_beginthreadex,它返回线程的句柄.(_beginthread也返回一个句柄,但是(引用文档)它"可能无效或指向另一个线程".从不使用_beginthread.) (2认同)