很棒的無鎖
有關無等待和無鎖編程的資源集合。
來自 MattPD 的更好資源:C++ 連結:原子、無鎖、記憶體模型。
圖書館
- Boost.Lockfree - Boost 無鎖資料結構。
- ConcurrencyKit - 並發原語。
- crossbeam - 用於並發程式設計的 Rust 函式庫。
- Folly - Facebook 開源程式庫(具有 MPMC 佇列的良好實作)。
- Junction - C++ 中的並發資料結構。
- MPMCQueue - 以 C++11 編寫的有界多生產者多消費者無鎖佇列。
- SPSCQueue - 用 C++11 編寫的有界單生產者單消費者無等待和無鎖隊列。
- Seqlock - C++ 中 Seqlock 的實作.
- 使用者空間 RCU -liburcu 是用戶空間 RCU(讀取-複製-更新)庫。
- libcds - 並發資料結構的 C++ 函式庫。
- liblfds - 用 C 語言編寫的可移植、免許可、無鎖的資料結構庫。
- xenium - 提供各種並發資料結構和回收方案的 C++ 函式庫。
網站
- 1024cores - Dmitry Vyukov 關於無鎖程式設計的網站。
- LMAX幹擾器
- 維基百科:非阻塞演算法
- 維基百科:閱讀-複製-更新
- 維基百科:Seqlock
部落格
- Concurrency Freaks - 致力於並發演算法和模式的網站。
- Dan Luu - 大量有關現代電腦體系結構的資訊。
- 鎖定 Webkit
- 機械同情
- 保羅麥肯尼
- 熱衷於程式設計
- Sutter's Mill - Herb Sutter 談軟體開發。
- 薑保羅
圖書
- 保羅·E·麥肯尼。並行程式設計很難嗎?
- 莫里斯·赫利希和尼爾·沙維特。多處理器程式設計的藝術
文件
- ARM 和 POWER 寬鬆記憶體模型的教學簡介
- 保羅·E·麥肯尼。記憶體屏障:軟體駭客的硬體視圖。
- 簡單、快速、實用的非阻塞和阻塞並發隊列演算法-Michael-Scott隊列
- 烏爾里希·德雷珀.每個程式設計師都應該了解的記憶體知識
- x86-TSO:針對 x86 多處理器的嚴格且可用的程式設計師模型
會談
- CppCon 2014:Herb Sutter“無鎖編程(或雜耍剃刀刀片),第一部分”
- CppCon 2014:Herb Sutter“無鎖編程(或雜耍剃刀刀片),第二部分”
- CppCon 2015:Fedor Pikus PART 1 “Live Lock-Free or Deadlock(實用無鎖編程)”
- CppCon 2015:Fedor Pikus PART 2 《Live Lock-Free or Deadlock(實用無鎖編程)》
- CppCon 2015:Michael Wong“C++11/14/17 原子與記憶體模型...”
- CppCon 2015:Paul E. McKenney“C++ 原子…”
- CppCon 2014:Tony Van Eerd“無鎖範例”
- CppCon 2016:Fedor Pikus“並發速度:無鎖更快嗎?”
- CppCon 2016:Hans Boehm“正確使用弱有序 C++ 原子”
- CppCon 2017:Fedor Pikus “C++ 原子,從基礎到高級。他們到底是做什麼的?
- CppCon 2017:Fedor Pikus 「閱讀、複製、更新,然後呢?適用於非內核程式設計師的 RCU”
- CppCon 2017:P. McKenney、M. Michael 和 M. Wong 「並行程式設計仍然很難嗎?第 1 部分(共 2 部分)”
- CppCon 2017:P. McKenney、M. Michael 和 M. Wong 「並行程式設計仍然很難嗎?第 2 部分(共 2 部分)”
- CppCon 2018:“高性能安全回收的前景和令人興奮的新未來”
- C++ 及未來 2012 年:Herb Sutter - 原子<> 武器,第 1 卷(共 2 卷)
- C++ 及未來 2012 年:Herb Sutter - 原子<> 武器,2 of 2
- 《Aeron:開源高效能訊息傳遞》作者:Martin Thompson
- Java 並發程式設計的冒險:可預測延遲的探索 - Martin Thompson
- 了解 Disruptor,硬核並發初學者指南 -Trisha Gee 和 Mike Barker
關於
此清單由 Erik Rigtorp <[email protected]> 編製。