class PSyncPointAck

This class defines a thread synchonisation object.

Inheritance:


Public Methods

[more]virtual void Signal ()
If there are waiting (blocked) threads then unblock the first one that was blocked.
[more]void Acknowledge ()
This indicates that the thread that was blocked in a Wait() on this synchonrisation object has completed the operation the signal was intended to initiate.


Inherited from PSyncPoint:


Inherited from PSemaphore:

Public Methods

Construction

Operations


Inherited from PObject:

Public Methods

Run Time Type functions

I/O functions

Miscellaneous functions

Public Members

Comparison functions


Documentation

This class defines a thread synchonisation object.

This may be used to send signals to a thread and await an acknowldegement that the signal was processed. This can be be used to initate an action in another thread and wait for the action to be completed.

    ... thread one
    while (condition) {
      sync.Wait();
      do_something();
      sync.Acknowledge();
    }

    ... thread 2
    do_something_else();
    sync.Signal();    // At this point thread 1 wake up and does something.
    do_yet_more();    // However, this does not get done until Acknowldege()
                      // is called in the other thread.

ovirtual void Signal()
If there are waiting (blocked) threads then unblock the first one that was blocked. If no waiting threads and the count is less than the maximum then increment the semaphore.

Unlike the PSyncPoint::Signal() this function will block until the target thread that was blocked by the Wait() function has resumed execution and called the Acknowledge() function.

The waitTime parameter is used as a maximum amount of time to wait for the achnowledgement to be returned from the other thread.

ovoid Acknowledge()
This indicates that the thread that was blocked in a Wait() on this synchonrisation object has completed the operation the signal was intended to initiate. This unblocks the thread that had called the Signal() function to initiate the action.


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.