Section

std::condition_variable_any

The condition_variable_any class is a generalization of std::condition_variable. Whereas std::condition_variable works only on std::unique_lock<std::mutex>, condition_variable_any can operate on any lock that meets the BasicLockable requirements.

# Declarations

class condition_variable_any;

(since C++11)

# Notes

std::condition_variable_any can be used with std::shared_lock in order to wait on a std::shared_mutex in shared ownership mode.

A possible use for std::condition_variable_any with custom Lockable types is to provide convenient interruptible waits: the custom lock operation would both lock the associated mutex as expected, and also perform the necessary setup to notify this condition variable when the interrupting signal is received.[1]

# See also