若要使用线程类std::thread
,则需包含<thread>
头文件。
创建线程
std::thread
表示一个线程。线程对象是不可复制或赋值的,但可以移动(move),如移动构造或移动赋值。
当构造std::thread
对象时,需给构造函数输入一个参数,该参数是一个可调用的单元,它可以是函数,函数对象,或Lambda表达式。可调用单元的返回值一般会被忽略。
以下是一个Hello World代码示例:
// ThreadHelloWorld.cpp#include <iostream>
#include <thread>void PrintHelloWorld()
{std::cout << "Hello World!\n";
}int main(int argc, char** argv)
{std::thread helloWorldThread(PrintHelloWorld);helloWorldThread.join();return 0;
}