class CSemaphore

More...

Definition#include <classlib/include/classlib/mtsync.h>
InheritsCSyncObject [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Members


Detailed Description

class CSemaphore

Class implementing a semaphore object. A semaphore is a sinchronization object for multithread programming. The semaphore is a counted resource access controller. The sempahore is built whith a inital count of concurrent thread allowed to take the resource. Every time a thread call Lock() the thread claim one unit of the resource. When no more unit are available a call to Lock() cause the thread wait until another thread call Unlock().

 CSemaphore (long initialCount = 1, long maxCount = 1)

CSemaphore

Build the semaphore whit the supplied initialCount ed maxCount parameter.

 ~CSemaphore ()

~CSemaphore

[virtual]

Destroy the semaphore.

int  Lock ()

Lock

[virtual]

The calling thread try to lock one item of the resource. The internal resource counter will be decremented. If the counter are 0 the thred go in sleeping state, until someone call Unlock().

Reimplemented from CSyncObject.

int  Unlock ()

Unlock

[virtual]

The calling thread release one item of the resource. The internal resource counter will be incremented. Every thread waiting for the resource will be notified to restart.

Reimplemented from CSyncObject.

int  Try ()

Try

[virtual]

Try to acquire the locking without really lock the thread. Not yet implemented.

Reimplemented from CSyncObject.

long  getCount ()

getCount

[const]

long  getMax ()

getMax

[const]

void  setMax (long v)

setMax

pthread_mutex_t mutex

mutex

[protected]

pthread_cond_t event

event

[protected]

long iCount

iCount

[protected]

long mCount

mCount

[protected]


Generated by: nicola on gulliver.wadahome.it on Sun May 25 13:54:34 2003, using kdoc 2.0a53.