运行错误:terminate called without an active exception,可能的原因 :下面的代码中的
t41.join();
t42.join();
t43.join();
注释掉会出现这个错误
#include "stdio.h"
#include <iostream>
#include <thread>
int main(int argc, char **argv){
std::thread t1([](){
while(true){
std::this_thread::sleep_for(std::chrono::seconds(1));
printf(" t1 t1 t1 t1 ------------------------------------- \n");
}
});
std::thread t2([](){
while(true){
std::this_thread::sleep_for(std::chrono::seconds(1));
printf(" t2 t2 t2 t2 ------------------------------------- \n");
}
});
std::thread t3([](){
while(true){
std::this_thread::sleep_for(std::chrono::seconds(1));
printf(" t3 t3 t3 t3 ------------------------------------- \n");
}
});
std::thread t4([](){
std::thread t41([](){
while(true){
std::this_thread::sleep_for(std::chrono::seconds(1));
printf(" t41 ------------------------------------- \n");
}
});
std::thread t42([](){
while(true){
std::this_thread::sleep_for(std::chrono::seconds(1));
printf(" t42 ------------------------------------- \n");
}
});
std::thread t43([](){
while(true){
std::this_thread::sleep_for(std::chrono::seconds(1));
printf(" t43 ------------------------------------- \n");
}
});
t41.join();
t42.join();
t43.join();
});
t1.join();
t2.join();
t3.join();
t4.join();
return -1;
}
输出:
t41 -------------------------------------
t1 t1 t1 t1 -------------------------------------
t2 t2 t2 t2 -------------------------------------
t3 t3 t3 t3 -------------------------------------
t42 -------------------------------------
t43 -------------------------------------
t1 t1 t1 t1 -------------------------------------
t41 -------------------------------------
t2 t2 t2 t2 -------------------------------------
t3 t3 t3 t3 -------------------------------------
t42 -------------------------------------
t43 -------------------------------------
t1 t1 t1 t1 -------------------------------------
t3 t3 t3 t3 -------------------------------------
t42 -------------------------------------
t43 -------------------------------------
t41 -------------------------------------
t2 t2 t2 t2 -------------------------------------
线程中嵌套线程,好玩。 ps:CMAKE_CXX_STANDARD 11