27 #ifndef EMBB_BASE_CONDITION_VARIABLE_H_ 28 #define EMBB_BASE_CONDITION_VARIABLE_H_ 30 #include <embb/base/internal/platform.h> 31 #include <embb/base/mutex.h> 32 #include <embb/base/time.h> 157 template<
typename Tick>
175 internal::ConditionVariableType condition_var_;
181 #include <embb/base/internal/condition_variable-inl.h> 183 #endif // EMBB_BASE_CONDITION_VARIABLE_H_ Definition: lock_free_mpmc_queue.h:40
bool WaitFor(UniqueLock< Mutex > &lock, const Duration< Tick > &duration)
Releases the lock and waits until the thread is woken up or the specified duration has passed...
bool WaitUntil(UniqueLock< Mutex > &lock, const Time &time)
Releases the lock and waits until the thread is woken up or the specified time point has passed...
void Wait(UniqueLock< Mutex > &lock)
Releases the lock and waits until the thread is woken up.
void NotifyOne()
Wakes up one waiting thread.
void NotifyAll()
Wakes up all waiting threads.
Represents a relative time duration for a given tick type.
Definition: duration.h:57
Represents a condition variable for thread synchronization.
Definition: condition_variable.h:56
ConditionVariable()
Creates a condition variable.
Represents an absolute time point.
Definition: time.h:41
Flexible ownership wrapper for a mutex.
Definition: mutex.h:491