多线程学习一:创建线程

Posted Nancy26

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程学习一:创建线程相关的知识,希望对你有一定的参考价值。

 1 #include <iostream>
 2 #include <thread> //
 3 void hello() //
 4 {
 5 std::cout << "Hello Concurrent World\n";
 6 }
 7 int main()
 8 {
 9 std::thread t(hello); //
10 t.join(); //
11 }

程序代码如上:

增加了 #include <thread> ①,标准C++库中对多线程支持的声明在新的头文件中:管理线程的函数和类在 <thread> 中声明,而保护共享数据的函数和类在其他头文件中声明。写信息的代码被移动到了一个独立的函数中②。因为每个线程都必须具有一个初始函数(initial function),新线程的执行在这里开始。对于应用程序来说,初始线程是main(),但是对于其他线程,可以在 std::thread 对象的构造函数中指定。

与直接写入标准输出或是从main()调用hello()不同,该程序启动了一个全新的线程来实现,将线程数量一分为二——初始线程始于main(),而新线程始于hello()。

 

以上是关于多线程学习一:创建线程的主要内容,如果未能解决你的问题,请参考以下文章

多个请求是多线程吗

python小白学习记录 多线程爬取ts片段

多线程学习一:创建线程

java多线程学习-一

newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段

多线程学习记录一创建java多线程