C++11併發學習之一:小試牛刀
1.與C++11多執行緒相關的標頭檔案
C++11 新標準中引入了四個標頭檔案來支援多執行緒程式設計,他們分別是<atomic> ,<thread>,<mutex>,<condition_variable>和<future>。
<atomic>:
該頭文主要聲明瞭兩個類, std::atomic和std::atomic_flag,另外還聲明瞭一套C風格的原子型別和與C相容的原子操作的函式。
<thread>:
該標頭檔案主要聲明瞭 std::thread 類,另外 std::this_thread 名稱空間也在該標頭檔案中。
<mutex>:
該標頭檔案主要聲明瞭與互斥量(mutex)相關的類,包括std::mutex系列類, std::lock_guard,std::unique_lock,以及其他的型別和函式。
<condition_variable>:
該標頭檔案主要聲明瞭與條件變數相關的類,包括 std::condition_variable和std::condition_variable_any。
<future>:
該標頭檔案主要聲明瞭std::promise, std::package_task兩個Provider類,以及std::future和std::shared_future兩個Future類,另外還有一些與之相關的型別和函式,std::async()函式就宣告在此標頭檔案中。
2.Hello world
#include <thread>
#include <iostream>
void func()
{
std::cout<<"worker thread ID:"<<std::this_thread::get_id()<<std::endl;
std::cout<<"Hello Word"<<std::endl;
}
int main()
{
std::cout<<"main thread ID:"<<std::this_thread::get_id()<<std::endl;
std::thread workerThread(func);
workerThread.join();
return 0;
}
3.執行結果
從列印資訊可以看出,有兩個執行緒在執行。
---------------------
作者:燦哥哥
來源:CSDN
原文:https://blog.csdn.net/caoshangpa/article/details/52829747?utm_source=copy
版權宣告:本文為博主原創文章,轉載請附上博文連結!