Poco

class SynchronizedObject

File Information

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

SynchronizedObject();

Creates the object.

Destructor

~SynchronizedObject virtual

virtual ~SynchronizedObject();

Destroys the object.

Member Functions

lock inline

void lock() const;

Locks the object. Blocks if the object is locked by another thread.

notify inline

void notify() const;

Signals the object. Exactly only one thread waiting for the object can resume execution.

tryLock inline

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 inline

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 inline

void unlock() const;

Unlocks the object so that it can be locked by other threads.

wait inline

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.