SPSCQueue.h Alternatives
Similar projects and alternatives to SPSCQueue.h
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Thrust
Discontinued [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
SPSCQueue.h reviews and mentions
-
Notes on Concurrency Bugs
A triple buffer is a good choice if all you want is polling the latest data at any given time, and you want to avoid mutexes altogether. If you want each piece of data to be delivered exactly once, you can use a queue (bounded or "unlimited" though the latter doesn't supply backpressure which I hear causes problems). SPSC lock-free bounded queues are dead simple to write, and can be tuned for higher throughput even with contention (https://github.com/rigtorp/SPSCQueue claims to be nice, and I haven't had issues working with it aside from having to peek and pop separately, but it's C++, and not a misuse-proof API since it doesn't use the "handles" idea I talked about, and you can push/read/pop from the wrong thread). If you want the reader to poll/WaitForMultipleObjects until the queue has items, that has to be done separately from the SPSC.
And mutexes make a lot of things easier... and introduces "oops wrong mutex!" (Rust solves it) and deadlock (Rust doesn't solve it).
Stats
rigtorp/SPSCQueue is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of SPSCQueue.h is C++.
Popular Comparisons
Sponsored