运行错误 terminate called without an active exception

运行错误: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

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值