C++11 併發指南系列
本系列文章主要介紹 C++11 併發程式設計,計劃分為 9 章介紹 C++11 的併發和多執行緒程式設計,分別如下:
C++11 併發指南三(std::mutex 詳解)(本章計劃 1-2 篇,已完成 2 篇)
C++11 併發指南四(future 詳解)(本章計劃 3 篇,已完成 3 篇)
C++11 併發指南六(atomic 詳解)(本章計劃 4 篇,已完成 4 篇)
C++11 併發指南七(C++11 記憶體模型)(本章計劃 3-4 篇,已完成 1 篇,3 篇在草稿中)
C++11 併發指南八(雜項)(本章計劃 1-2 篇,已完成 0 篇,1 篇在草稿中)
按照目前的進度來看大約完成了總體進度的 60% 左右,希望對大家理解和掌握 C++11 的併發和多執行緒程式設計有一定幫助。
相關推薦
C++11 併發指南系列
本系列文章主要介紹 C++11 併發程式設計,計劃分為 9 章介紹 C++11 的併發和多執行緒程式設計,分別如下: C++11 併發指南三(std::mutex 詳解)(本章計劃 1-2 篇,已完成 2 篇) C++11 併發指南四(future 詳解)(本章計劃 3 篇,已完成 3 篇)
C++11 併發指南六(atomic 型別詳解一 atomic_flag 介紹)
C++11 併發指南已經寫了 5 章,前五章重點介紹了多執行緒程式設計方面的內容,但大部分內容只涉及多執行緒、互斥量、條件變數和非同步程式設計相關的 API,C++11 程式設計師完全可以不必知道這些 API 在底層是如何實現的,只需要清楚 C++11 多執行緒和非同步程
C++11 併發指南六( 型別詳解二 std::atomic )
C++11 併發指南六(atomic 型別詳解一 atomic_flag 介紹) 一文介紹了 C++11 中最簡單的原子型別 std::atomic_flag,但是 std::atomic_flag 過於簡單,只提供了 test_and_set 和 clear 兩個 API,不能滿足其他需求(如 s
C++11 併發指南七(C++11 記憶體模型一:介紹)
第六章主要介紹了 C++11 中的原子型別及其相關的API,原子型別的大多數 API 都需要程式設計師提供一個 std::memory_order(可譯為記憶體序,訪存順序) 的列舉型別值作為引數,比如:atomic_store,atomic_load,atomic_exchange,atomic_compa
C++11 併發指南三(std::mutex 詳解)
上一篇《C++11 併發指南二(std::thread 詳解)》中主要講到了 std::thread 的一些用法,並給出了兩個小例子,本文將介紹 std::mutex 的用法。 Mutex 又稱互斥量,C++ 11中與 Mutex 相關的類(包括鎖型別)和函式都宣告在 <mutex> 標頭檔案中
C++11 併發指南五(std::condition_variable 詳解)
前面三講《C++11 併發指南二(std::thread 詳解)》,《C++11 併發指南三(std::mutex 詳解)》分別介紹了 std::thread,std::mutex,std::future 等相關內容,相信讀者對 C++11 中的多執行緒程式設計有了一個最基本的認識,本文將介紹 C++11 標
C++11 併發指南六( 型別詳解二 std::atomic )
C++11 併發指南六(atomic 型別詳解一 atomic_flag 介紹) 一文介紹了 C++11 中最簡單的原子型別 std::atomic_flag,但是 std::atomic_flag 過於簡單,只提供了 test_and_set 和 clear 兩個 API,不能滿足其他需求(如 store
C++11 併發指南三(Lock 詳解)
在 《C++11 併發指南三(std::mutex 詳解)》一文中我們主要介紹了 C++11 標準中的互斥量(Mutex),並簡單介紹了一下兩種鎖型別。本節將詳細介紹一下 C++11 標準的鎖型別。 C++11 標準為我們提供了兩種基本的鎖型別,分別如下: std::lock_guard,與 Mute
C++11 併發指南四( 詳解三 std::future & std::shared_future)
上一講《C++11 併發指南四(<future> 詳解二 std::packaged_task 介紹)》主要介紹了 <future> 標頭檔案中的 std::packaged_task 類,本文主要介紹 std::future,std::shared_future 以及 std::fu
C++11 併發指南六(atomic 型別詳解三 std::atomic (續))
integral fetch_add(integral, memory_order = memory_order_seq_cst) volatile; integral fetch_add(integral, memory_order = memory_order_seq_cst); integral
C++11 併發指南一(C++11 多執行緒初探)
引言 C++11 自2011年釋出以來已經快兩年了,之前一直沒怎麼關注,直到最近幾個月才看了一些 C++11 的新特性,今後幾篇部落格我都會寫一些關於 C++11 的特性,算是記錄一下自己學到的東西吧,和大家共勉。 相信 Linux 程式設計師都用過 Pthread, 但有了 C++11 的 std::t
C++11 併發指南二(std::thread 詳解)
上一篇部落格《C++11 併發指南一(C++11 多執行緒初探)》中只是提到了 std::thread 的基本用法,並給出了一個最簡單的例子,本文將稍微詳細地介紹 std::thread 的用法。 std::thread 在 <thread> 標頭檔案中宣告,因此使用 std::thread 時
C++11 併發指南六(atomic 型別詳解四 C 風格原子操作介紹)
總地來說,C++11 標準中規定了兩大類原子物件,std::atomic_flag 和 std::atomic,前者 std::atomic_flag 一種最簡單的原子布林型別,只支援兩種操作,test-and-set 和 clear。而 std::atomic 是模板類,一個模板型別為 T 的原子物件中
C++11 併發指南四( 詳解一 std::promise 介紹)
前面兩講《C++11 併發指南二(std::thread 詳解)》,《C++11 併發指南三(std::mutex 詳解)》分別介紹了 std::thread 和 std::mutex,相信讀者對 C++11 中的多執行緒程式設計有了一個最基本的認識,本文將介紹 C++11 標準中 <future>
C++11 併發指南後續更新
C++11 併發指南的第一篇是 2013 年 8 月 3 號寫的,到今天(2013 年 8 月 31 號)差不多一個月了,前前後後共寫了 6 章(目前共 8 篇)部落格介紹 C++11 的併發程式設計,但還差 atomic 和 C++11 記憶體模型兩章還在草稿中。今天回顧一下之前寫的部落格,發現內容還遠遠不
C++11 併發指南九(綜合運用: C++11 多執行緒下生產者消費者模型詳解)
前面八章介紹了 C++11 併發程式設計的基礎(抱歉哈,第五章-第八章還在草稿中),本文將綜合運用 C++11 中的新的基礎設施(主要是多執行緒、鎖、條件變數)來闡述一個經典問題——生產者消費者模型,並給出完整的解決方案。 生產者消費者問題是多執行緒併發中一個非常經典的問題,相信學過作業系統課程的同學都清楚
C++11 併發指南四( 詳解二 std::packaged_task 介紹)
上一講《C++11 併發指南四(<future> 詳解一 std::promise 介紹)》主要介紹了 <future> 標頭檔案中的 std::promise 類,本文主要介紹 std::packaged_task。 std::packaged_task 包裝一個可呼叫的物件,並且
C++11 併發指南四( 詳解一 std::promise 介紹)
前面兩講《C++11 併發指南二(std::thread 詳解)》,《C++11 併發指南三(std::mutex 詳解)》分別介紹了 std::thread 和 std::mutex,相信讀者對 C++11 中的多執行緒程式設計有了一個最基本的認識,本文將介紹 C++
C++11 併發指南四( 詳解二 std::packaged_task 介紹)
上一講《C++11 併發指南四(<future> 詳解一 std::promise 介紹)》主要介紹了 <future> 標頭檔案中的 std::promise 類,本文主要介紹 std::packaged_task。 std::package
C++11 併發程式設計指南——前言
開場白:前一段時間(大概在8月初)開始寫 《C++11 併發程式設計指南》(最早更新於:http://www.cnblogs.com/haippy),但是由於個人能力有限,加上 9 月初到現在一直在忙著找工作(革命尚未成功),精力有限,難免出現錯誤,希望讀者不吝指正。 另外,這是我在併發程式設