extra_waiters

This library provides synchronization primitives built on top of parking_lot_core. The various waiters here are a mix between a Condvar and a Mutex, with the specific details being particular to each waiter.

Note that the use of this library does not require a Mutex.

Examples of usage can be seen in the test cases written for each module, however the general pattern for each of the waiters is as follows:

[AttentiveWaiter]

This waiter provides functions to do the following:

[OnceWaiter]

This waiter provides functions to do the following:

[Spinlock]

A simple spinlock built on atomic primitives.

This is not recommended to be used in most instances, however can be useful in certain cases.