[实践篇]13.32 QNX下,C++编程未捕获异常导致的CPU异常高占用
目录
一,问题描述
二,示例
三,运行
3.1 QNX侧
3.2 Linux侧
四,结论
一,问题描述
由于业务需要,很多服务需要在QNX侧实现。当我们在编写服务,可能会遇到线程CPU异常高的情况。
排除死等或递归等错误用法的情况,还有可能是是在QNX侧调用C++系统API的时候,没有在子线程中捕获异常所导致。
二,示例
#include <stdio.h>
#include <stdexcept>
#include <string>
#include <thread>
#include <unistd.h>
int main(int angc, chars* argy)
{
std::thread t1{[]{
printf("before throw/n");
throw std:invalid_argument("");