## class XGSemaphore

> Declared in <XThread.h>

> This is a semaphore object. This allows me to create and control access to a chunk of critical code

Construction/Destruction

> XGSemaphore::EnterCritical
> XGSemaphore::LeaveCritical
> XGSemaphore::XGSemaphore
> XGSemaphore::~XGSemaphore

Construction/Destruction

XGSemaphore::EnterCritical

> Usage: void XGSemaphore::EnterCritical(void)

> Enter critical section that is protected by this semaphore

XGSemaphore::LeaveCritical

> Usage: void XGSemaphore::LeaveCritical(void)

> Leave critical section

XGSemaphore::XGSemaphore

> Usage: void XGScrollView::GetPageSize(long*x,long*y)

> Create this semaphore. The count provided is the maximum number of threads that are permitted to pass the "EnterCritical" section. By default that is set to 1.

XGSemaphore::~XGSemaphore

> Usage: XGSemaphore::~XGSemaphore()

> Delete this thing. It is undefined what happens when you delete this thing while something is in the critical section.