1.4 开始入门
#include <iostream> int main() { std::cout << "Hello World\n"; } |
- 使用#include<thread>
-
定义hello()函数
因为每个线程都必须具有一个初始函数(initial function),新线程的执行在这里开始。
对于应用程序来说,初始线程是main(),但是对
于其他线程,可以在 std::thread 对象的构造函数中指定
-
被命名为t③的 std::thread 对象拥有新函数hello()作为其初始函数。
新的线程启动之后③,初始线程继续执行。如果它不等待新线程结束,它就将自顾自地继续运行到main()的结束,从而结束程序——有可能发生在新线程运行之前。这就是为什么在④这里调用 join() 的原因——详见第2章,这会导致调用线程(在main()中)等待与 std::thread 对象相关联的线程,即这个例子中的t。