terminate called without an active exception Abort (core dumped)
举报
void task1(std::string msg){ std::cout << "task1 says: " << msg; } int main() { std::thread t1(task1, "hello"); return 0; } 原因分析及解决方案: 原因就是创建线程后,主线程立马退出。但是子线程还没执行完,子线程被销毁,此时就会出现上述错误。知道了造成错误的原因,那么解决错误的方法自然而然也就可以得出。
void task1(std::string msg){ std::cout << "task1 says: " << msg; } int main() { std::thread t1(task1, "hello"); t1.join(); return 0; }
void task1(std::string msg){ std::cout << "task1 says: " << msg; } int main() { std::thread t1(task1, "hello"); t1.detach(); return 0; }
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
等级类勋章
发帖类勋章
时间类勋章
人才类勋章
1478
12912
55
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号