第一章:你好C++的并发世界
1).简单的打印HelloWord程序代码:
#include<iostream>
int main()
{
std::cout<<"hello Word\n";
}
2).简单的线程打印当前的HelloWord 程序代码
#include<iostream>
#include<thread>
void printhello()
{
std::cout << "hello Current word!" << std::endl;
}
int mian()
{
std::thread t(printhello);
t.join();
system("pause");
return 0;
}
两者区别:
一:增加了 #include <thread> ①,标准C++库中对多线程支持的声明在新的头文件中:管理线程的函数和类在<thread> 中声明的。
二:打印功能被移动到一个独立的函数中,这是因为每个线程都必须具有一个初始函数,新线程的执行在这里开始。对于应用程序来说,初始线程是main(),但是对于与是std::thread对象来说拥有新函数printhello作为其初始函数。
三:与直接写入标准输出或是从main()调用printhello()不同,该程序启动了一个全新的线 程来实现,将线程数量一分为二——初始线程始于main(),而新线程始于printhello()。 新的线程启动之后③,初始线程继续执行。如果它不等待新线程结束,它就将自顾自地继续运 行到main()的结束,从而结束程序——有可能发生在新线程运行之前。这就是为什么在④这里 调用 join() 的原因了。jion()函数的功能就是等待线程t执行完,程序再执行下面的代码。

浙公网安备 33010602011771号