C++11标准支持了并发,其中包含了线程管理,共享资源保护,线程间同步操作和底层原子操作等功能。我们先通过一个简单的示例看看C++11标准的多线程程序是什么样的。
#include <iostream>
#include <thread> // 引用用于管理线程的类的头文件
using namespace std;
// 线程的入口函数,程序将在新创建的线程中打印log
void hello()
{
cout << "Hello Concurrent World" << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
// 构造线程对象t,设置函数hello为其入口函数
thread t(hello);
// 线程t被创建后,主线程继续执行,将子线程加入到主线程中,这样主线程就会等待子线程结束
// 否则,主线程可能先于子线程结束而退出
t.join();
return 0;
}
程序执行结果: