class Poco::SynchronizedObject

Overview

This class aggregates a Mutex and an Event and can act as a base class for all objects requiring synchronization in a multithreaded scenario. Moreā€¦

#include <SynchronizedObject.h>

class SynchronizedObject
{
public:
    // typedefs

    typedef Poco::ScopedLock<SynchronizedObject> ScopedLock;

    // methods

    void
    lock() const;

    bool
    tryLock() const;

    void
    unlock() const;

    void
    notify() const;

    void
    wait() const;

    void
    wait(long milliseconds) const;

    bool
    tryWait(long milliseconds) const;
};

Detailed Documentation

This class aggregates a Mutex and an Event and can act as a base class for all objects requiring synchronization in a multithreaded scenario.

Construction

virtual
~SynchronizedObject()

Destroys the object.

Methods

void
lock() const

Locks the object.

Blocks if the object is locked by another thread.

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.

void
unlock() const

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

void
notify() const

Signals the object.

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

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.

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.