Library: Foundation
Package: Threading
Header: Poco/SynchronizedObject.h
Description
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 Summary
Member Functions: lock, notify, tryLock, tryWait, unlock, wait
Types Aliases
ScopedLock
using ScopedLock = Poco::ScopedLock < SynchronizedObject >;
Constructors
SynchronizedObject
Creates the object.
Destructor
~SynchronizedObject
virtual ~SynchronizedObject();
Destroys the object.
Member Functions
lock
void lock() const;
Locks the object. Blocks if the object is locked by another thread.
notify
void notify() const;
Signals the object. Exactly only one thread waiting for the object can resume execution.
tryLock
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.
tryWait
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.
unlock
void unlock() const;
Unlocks the object so that it can be locked by other threads.
wait
void wait() const;
Waits for the object to become signalled.
wait
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.