项目场景:
最近换了新工作,主要是进行android camera HAL层性能优化工作,发现某些过程可以提前多线程处理,就使用了c++11开始提供的std::thread进行Demo开发,开发完成后开始调试,果然第一次运行出故障了,camera直接闪退了,不用想,肯定是修改导致的了。
问题描述
使用std::thread进行多线程运行任务,导致camera直接闪退,因为公司项目保密,无法提供源码,这里提供一个简单的windows应用程序来复现问题:
源码:
#include <iostream>
#include <memory>
#include <thread>
using namespace std;
class ThreadTest
{
private:
std::unique_ptr<std::thread> mptrThread;
public:
ThreadTest();
void ThreadBody();
voi