rigtorp / Awesome Lockfree
A collection of resources on wait-free and lock-free programming
Stars: ✭ 1,046
Projects that are alternatives of or similar to Awesome Lockfree
geeteventbus
An inprocess eventbus for highly concurrent Python applications
Stars: ✭ 17 (-98.37%)
Mutual labels: concurrency, concurrent-programming
Object threadsafe
We make any object thread-safe and std::shared_mutex 10 times faster to achieve the speed of lock-free algorithms on >85% reads
Stars: ✭ 280 (-73.23%)
Mutual labels: concurrency, lock-free
Zio
ZIO — A type-safe, composable library for async and concurrent programming in Scala
Stars: ✭ 3,167 (+202.77%)
Mutual labels: concurrency, concurrent-programming
traffic
Massively real-time traffic streaming application
Stars: ✭ 25 (-97.61%)
Mutual labels: concurrency, concurrent-programming
Crossbeam
Tools for concurrent programming in Rust
Stars: ✭ 4,180 (+299.62%)
Mutual labels: concurrency, lock-free
transit
Massively real-time city transit streaming application
Stars: ✭ 20 (-98.09%)
Mutual labels: concurrency, concurrent-programming
Golang Tutorials
Go Tutorials - Let's get our hands really dirty by writing a lot of Golang code
Stars: ✭ 277 (-73.52%)
Mutual labels: concurrency, concurrent-programming
optimistic lock coupling rs
🍋: A General Lock following paper "Optimistic Lock Coupling: A Scalable and Efficient General-Purpose Synchronization Method"
Stars: ✭ 21 (-97.99%)
Mutual labels: concurrency, lock-free
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (-67.5%)
Mutual labels: concurrency, concurrent-programming
Spscqueue
A bounded single-producer single-consumer wait-free and lock-free queue written in C++11
Stars: ✭ 307 (-70.65%)
Mutual labels: concurrency, lock-free
TAOMP
《多处理器编程的艺术》一书中的示例代码实现,带有注释与单元测试
Stars: ✭ 39 (-96.27%)
Mutual labels: concurrency, concurrent-programming
Fucking Java Concurrency
🎏 Simple show cases of java concurrency problems, seeing 🙈 is believing 🐵
Stars: ✭ 779 (-25.53%)
Mutual labels: concurrency, concurrent-programming
hatrack
Fast, multi-reader, multi-writer, lockless data structures for parallel programming
Stars: ✭ 55 (-94.74%)
Mutual labels: concurrent-programming, lock-free
mux-stream
(De)multiplex asynchronous streams
Stars: ✭ 34 (-96.75%)
Mutual labels: concurrency, concurrent-programming
scalable-concurrent-containers
High performance containers and utilities for concurrent and asynchronous programming
Stars: ✭ 101 (-90.34%)
Mutual labels: concurrency, concurrent-programming
Java Concurrency
Java并发知识点总结
Stars: ✭ 3,457 (+230.5%)
Mutual labels: concurrency, concurrent-programming
practice
Java并发编程与高并发解决方案:http://coding.imooc.com/class/195.html Java开发企业级权限管理系统:http://coding.imooc.com/class/149.html
Stars: ✭ 39 (-96.27%)
Mutual labels: concurrency, concurrent-programming
java-multithread
Códigos feitos para o curso de Multithreading com Java, no canal RinaldoDev do YouTube.
Stars: ✭ 24 (-97.71%)
Mutual labels: concurrency, concurrent-programming
Java Concurrency Progamming Tutorial
BAT华为大厂一线工程师四年磨一剑精心编排 Java 高并发编程案例代码 & 教程 & 面试题集锦。详细文档讲解请阅读本人的知识库仓:https://github.com/Wasabi1234/Java-Interview-Tutorial
Stars: ✭ 606 (-42.07%)
Mutual labels: concurrency, concurrent-programming
Awesome Lock-Free
A collection of resources on wait-free and lock-free programming.
🔥 🔥 🔥 Even better resource from MattPD: C++ links: atomics, lock free, memory model.
Libraries
- Boost.Lockfree - Boost lock-free data structures.
- ConcurrencyKit - Concurrency primitives.
- crossbeam - Rust library for concurrent programming.
- Folly - Facebook Open-source Library (has good implementation of MPMC queue).
- Junction - Concurrent data structures in C++.
- MPMCQueue - A bounded multi-producer multi-consumer lock-free queue written in C++11.
- SPSCQueue - A bounded single-producer single-consumer wait-free and lock-free queue written in C++11.
- Seqlock - Implementation of Seqlock in C++.
- Userspace RCU - liburcu is a userspace RCU (read-copy-update) library.
- libcds - A C++ library of Concurrent Data Structures.
- liblfds - portable, license-free, lock-free data structure library written in C.
- xenium - A C++ library providing various concurrent data structures and reclamation schemes.
Websites
- 1024cores - Dmitry Vyukov's website on lock-free programming.
- LMAX Disruptor
- Wikipedia: Non-blocking algorithm
- Wikipedia: Read-copy-update
- Wikipedia: Seqlock
Blogs
- Concurrency Freaks - A web site dedicated to Concurrent algorithms and patterns.
- Dan Luu - Lots of info on modern computer architecture.
- Locking in Webkit
- Mechanical Sympathy
- Paul E. McKenney
- Preshing on Programming
- Sutter's Mill - Herb Sutter on software development.
- Paul Khuong
Books
- Paul E. McKenney. Is Parallel Programming Hard, And, If So, What Can You Do About It?
- Maurice Herlihy and Nir Shavit. The Art of Multiprocessor Programming
Papers
- A Tutorial Introduction to the ARM and POWER Relaxed Memory Models
- Paul E. McKenney. Memory Barriers: a Hardware View for Software Hackers.
- Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms - The Michael - Scott Queue
- Ulrich Drepper. What Every Programmer Should Know About Memory
- x86-TSO: A Rigorous and Usable Programmer’s Model for x86 Multiprocessors
Talks
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I"
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part II"
- CppCon 2015: Fedor Pikus PART 1 “Live Lock-Free or Deadlock (Practical Lock-free Programming)"
- CppCon 2015: Fedor Pikus PART 2 "Live Lock-Free or Deadlock (Practical Lock-free Programming)"
- CppCon 2015: Michael Wong “C++11/14/17 atomics and memory model..."
- CppCon 2015: Paul E. McKenney “C++ Atomics..."
- CppCon 2014: Tony Van Eerd "Lock-free by Example"
- CppCon 2016: Fedor Pikus "The Speed of Concurrency: is lock-free faster?"
- CppCon 2016: Hans Boehm “Using weakly ordered C++ atomics correctly"
- CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”
- CppCon 2017: Fedor Pikus “Read, Copy, Update, then what? RCU for non-kernel programmers”
- CppCon 2017: P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 1 of 2”
- CppCon 2017: P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 2 of 2”
- CppCon 2018: “The Landscape and Exciting New Future of Safe Reclamation for High Performance”
- C++ and Beyond 2012: Herb Sutter - atomic<> Weapons, 1 of 2
- C++ and Beyond 2012: Herb Sutter - atomic<> Weapons, 2 of 2
- "Aeron: Open-source high-performance messaging" by Martin Thompson
- Adventures with Concurrent Programming in Java: A Quest for Predictable Latency - Martin Thompson
- Understanding the Disruptor, a Beginner's Guide to Hardcore Concurrency -Trisha Gee & Mike Barker
About
This list was compiled by Erik Rigtorp <[email protected]>.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].