// g++ test.cpp -std=gnu++11 -lpthread
#include<iostream>
#include<thread>
#include<unistd.h>
void fun1(int n){
for(int i=0; i<10; i++){
std::cout<< "Func1" << std::endl;
sleep(1);
}
}
int main(){
int n = 0;
std::thread th1(fun1, n);
// th1.join();
th1.detach();
std::cout<< "OVER !!! " << std::endl;
return 1;
}
// join() 會停止主線程
Func1
Func1
Func1
Func1
Func1
Func1
Func1
Func1
Func1
Func1
OVER !!!
// detach 將線程對象和線程解耦合,主線不等子線程結束
OVER !!!
Func1
C++ thread 中join 和 detach 的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.