Library: Foundation
Package: Threading
Header: Poco/SynchronizedObject.h
This class aggregates a Mutex and an Event and can act as a base class for all objects requiring synchronization in a multithreaded scenario.
Member Functions: lock, notify, tryLock, tryWait, unlock, wait
typedef Poco::ScopedLock < SynchronizedObject > ScopedLock;
Creates the object.
virtual ~SynchronizedObject();
Destroys the object.
void lock() const;
Locks the object. Blocks if the object is locked by another thread.
void notify() const;
Signals the object. Exactly only one thread waiting for the object can resume execution.
bool tryLock() const;
Tries to lock the object. Returns false immediately if the object is already locked by another thread Returns true if the object was successfully locked.
bool tryWait(
long milliseconds
) const;
Waits for the object to become signalled. Returns true if the object became signalled within the specified time interval, false otherwise.
void unlock() const;
Unlocks the object so that it can be locked by other threads.
void wait() const;
Waits for the object to become signalled.
void wait(
long milliseconds
) const;
Waits for the object to become signalled. Throws a TimeoutException if the object does not become signalled within the specified time interval.