线程的创建与启动
1、使用C++11新标准写多线程程序,首先需要添加头文件thread
#include <thread>
2、创建线程对象
thread MyThread1(function); //MyThread为线程对象名,function为可调用对象名(如函数,可调用对象等)
3、启动线程
a)使用 join 函数(等待线程)
MyThread1.join(); //线程MyThread1从此处开始运行,同时阻塞主线程。等到MyThread1线程执行结束,主线程才能继续执行后面的代码
b)使用 detach 函数(分离线程)
MyThread1.detach(); //启动线程MyThread1,且该线程和主线程分离,在系统后台运行。主线程与该线程同时执行,且主线程结束时不需要等待该线程的结束。
非必要的话,建议使用 join 函数,这样对线程的生命周期,执行顺序等的控制更加容易。