草庐IT

joinable

全部标签

C++线程执行完后还是 `joinable()`?

我有以下功能:voidthreadProc(){for(inti=0;i我正在按以下方式使用它:intmain(){try{std::threadt1(threadProc);t1.join();std::threadt2(threadProc);HANDLEhandle=t2.native_handle();WaitForSingleObject(handle,INFINITE);std::this_thread::sleep_for(std::chrono::milliseconds(5000));std::cout这是输出:thread#21300sayshithread#213

c++ - thead joinable-join 可以有竞争条件吗?你怎么绕过它?

假设我有以下类(class)classA{public:A(){my_thread=std::thread(std::bind(&A::foo,this));}~A(){if(my_thread.joinable()){my_thread.join();}}private:std::threadmy_thread;intfoo();};基本上,如果我的线程在joinable和join调用之间完成,那么my_thread.join会永远等待吗?你如何解决这个问题? 最佳答案 Basically,ifmythreadcompletesb