C++11之后,有了标准的线程库。c++11发布之前,c++并没有对多线程编程的专门支持,c++11通过标准库引入对多线程的支持,极大地方便了程序员的工作。
需要说明的是:c++11标准库内部包裹了pthread库,因此,编译程序的时候需要加上-lpthread连接选项。
#include <thread>
#include <condition_variable>
#include <mutex>
1、std::thread
a. C++11中创建线程非常简单,使用std::thread类就可以。thread类定义于thread头文件,构造thread类的对象时传入一个可调用对象作为参数(如果可调用对象有参数,把参数同时传入),这样构造完成后,新的线程马上被创建,同时执行该可调用对象。
b. 用std::thread默认的构造函数所构造出来的对象不关联任何线程。判断