c ++中join和detach thread之间的区别

时间:2016-07-01 05:51:22

标签: c++

我对join()和detach()线程的使用非常困惑。任何人都可以解释使用两者的逻辑和目的。是否可以在同一个程序中使用这两个函数?

当我运行下面提到的程序时,检查功能中的cout状态执行5次。而如果我替换join() detach()并运行相同的程序,check函数中的cout语句只执行4次。有谁知道这个的原因?

#include <iostream>   
#include <string> 
#include <thread>
int *check(){ std::cout<<"entering check func"<<std::endl; return 0; }
int main() {    
    for(int i=0; i < 5; i++){    
    std::thread t(&check);   
    t.join();  
   } return 0;
  }

0 个答案:

没有答案