在用树莓派做 “摄像头+按键+图像处理” 的时候,明显感觉在程序里多调一个函数,就可能会造成实时性很差的后果。
可能是真正到了操作系统层面上的多任务、多计算的情况,才能体会到计算机里算法等方面,确实影响程序的性能。
#include <iostream>
#include <thread>
using namespace std;
void output(int i)
{
cout << i << endl;
}
int main()
{
for (uint8_t i = 0; i < 4; i++)
{
thread t(output, i);
t.detach();
}
getchar();
return 0;
}
在一个for循环内,创建4个线程分别输出数字0、1、2、3,并且在每个数字的末尾输出换行符。
语句
thread t(output, i)
创建一个线程t,该线程运行output
,第二个参数i是传递给output
的参数。t在创建完成后自动启动,
t.detach
表示该线程在后台允许,无需等待该线程完成,继续执行后面的语句。
C++11多线程读不同的视频demo 可以看看
树莓派C++多线程 也是利用C++ thread