สุดยอดล็อคฟรี
คอลเลกชันทรัพยากรเกี่ยวกับการเขียนโปรแกรมแบบไม่ต้องรอและไม่มีการล็อค
ทรัพยากรที่ดียิ่งขึ้นจาก MattPD: ลิงก์ C ++: อะตอมมิก, ล็อคฟรี, โมเดลหน่วยความจำ
ห้องสมุด
- Boost.Lockfree - เพิ่มโครงสร้างข้อมูลที่ไม่มีการล็อค
- ConcurrencyKit - พื้นฐานการทำงานพร้อมกัน
- crossbeam - ไลบรารี่ Rust สำหรับการเขียนโปรแกรมพร้อมกัน
- Folly - ไลบรารีโอเพ่นซอร์สของ Facebook (มีการใช้งานคิว MPMC ที่ดี)
- ทางแยก - โครงสร้างข้อมูลพร้อมกันใน C ++
- MPMCQueue - คิวที่ไม่มีล็อคสำหรับผู้บริโภคหลายรายที่มีขอบเขตซึ่งเขียนด้วย C ++ 11
- SPSCQueue - คิวที่ไม่ต้องรอและไม่มีการล็อคสำหรับผู้บริโภครายเดียวที่มีขอบเขตซึ่งเขียนด้วย C ++ 11
- Seqlock - การใช้งาน Seqlock ใน C ++
- Userspace RCU - liburcu เป็นไลบรารี userspace RCU (อ่านคัดลอกอัปเดต)
- libcds - ไลบรารี C ++ ของโครงสร้างข้อมูลที่เกิดขึ้นพร้อมกัน
- liblfds - ไลบรารีโครงสร้างข้อมูลแบบพกพา ไม่มีใบอนุญาต และไม่มีการล็อค เขียนด้วยภาษา C
- xenium - ไลบรารี C++ ที่มีโครงสร้างข้อมูลและรูปแบบการบุกเบิกที่หลากหลายพร้อมกัน
เว็บไซต์
- 1,024cores - เว็บไซต์ของ Dmitry Vyukov เกี่ยวกับการเขียนโปรแกรมแบบไม่มีการล็อค
- ตัวทำลาย LMAX
- วิกิพีเดีย: อัลกอริธึมที่ไม่ปิดกั้น
- Wikipedia: อ่าน-คัดลอก-อัปเดต
- วิกิพีเดีย: Seqlock
บล็อก
- Concurrency Freaks - เว็บไซต์สำหรับอัลกอริธึมและรูปแบบที่เกิดขึ้นพร้อมกันโดยเฉพาะ
- Dan Luu - ข้อมูลมากมายเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์สมัยใหม่
- การล็อคใน Webkit
- ความเห็นอกเห็นใจทางกล
- พอล อี. แมคเคนนีย์
- กำลังนำเสนอการเขียนโปรแกรม
- Sutter's Mill - Herb Sutter เกี่ยวกับการพัฒนาซอฟต์แวร์
- พอล ควง
หนังสือ
- พอล อี. แมคเคนนีย์ . การเขียนโปรแกรมแบบขนานนั้นยากไหม และถ้าเป็นเช่นนั้น คุณจะทำอย่างไรกับมัน?
- มอริซ เฮอร์ลิฮี และเนียร์ ชาวิต ศิลปะของการเขียนโปรแกรมมัลติโปรเซสเซอร์
เอกสาร
- บทช่วยสอนเบื้องต้นเกี่ยวกับโมเดลหน่วยความจำแบบผ่อนคลาย ARM และ POWER
- พอล อี. แมคเคนนีย์ . อุปสรรคด้านหน่วยความจำ: มุมมองฮาร์ดแวร์สำหรับแฮกเกอร์ซอฟต์แวร์
- ง่าย รวดเร็ว และใช้งานได้จริง การไม่บล็อกและการบล็อกอัลกอริธึมคิวที่เกิดขึ้นพร้อมกัน - The Michael - Scott Queue
- อุลริช เดรปเปอร์ . สิ่งที่โปรแกรมเมอร์ทุกคนควรรู้เกี่ยวกับหน่วยความจำ
- x86-TSO: โมเดลโปรแกรมเมอร์ที่เข้มงวดและใช้งานได้สำหรับมัลติโปรเซสเซอร์ x86
พูดคุย
- CppCon 2014: Herb Sutter "การเขียนโปรแกรมแบบไม่ต้องล็อค (หรือการเล่นกลใบมีดโกน) ตอนที่ 1"
- CppCon 2014: Herb Sutter "การเขียนโปรแกรมแบบไม่ต้องล็อค (หรือการเล่นกลใบมีดโกน) ตอนที่ II"
- CppCon 2015: Fedor Pikus ส่วนที่ 1 “Live Lock-Free or Deadlock (การเขียนโปรแกรมแบบ Free Lock-free)"
- CppCon 2015: Fedor Pikus ส่วนที่ 2 "Live Lock-Free หรือ Deadlock (การเขียนโปรแกรมแบบ Free Lock)"
- CppCon 2015: Michael Wong “แบบจำลองอะตอมและหน่วยความจำ C++11/14/17...”
- CppCon 2015: Paul E. McKenney “C++ Atomics...”
- 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++ และ Beyond 2012: Herb Sutter - atomic<> Weapons, 1 จาก 2
- C++ และ Beyond 2012: Herb Sutter - atomic<> Weapons, 2 จาก 2
- "Aeron: การส่งข้อความประสิทธิภาพสูงแบบโอเพ่นซอร์ส" โดย Martin Thompson
- การผจญภัยกับการเขียนโปรแกรมพร้อมกันใน Java: ภารกิจเพื่อความหน่วงที่คาดเดาได้ - Martin Thompson
- การทำความเข้าใจ Disruptor คู่มือสำหรับผู้เริ่มต้นสู่การทำงานพร้อมกันแบบฮาร์ดคอร์ - Trisha Gee และ Mike Barker
เกี่ยวกับ
รายการนี้รวบรวมโดย Erik Rigtorp <[email protected]>