Our great sponsors
-
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.
Package link: github.com/AmrSaber/go-blocking-dequeue
In the constructor I copy the condition variables into the queue. Awkward, but that's just how the neglected sync.Condvar is designed. (The Go devs really don't like condition variables.) They share a common lock, which is perfectly fine. As a style choice, I let the caller allocate the backing buffer. Usage example:
NOTE:
The number of mentions on this list indicates mentions on common posts plus user suggested alternatives.
Hence, a higher number means a more popular project.