1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#pragma once class cSemaphore { public: cSemaphore( unsigned int a_MaxCount, unsigned int a_InitialCount = 0 ); ~cSemaphore(); void Wait(); void Signal(); private: void* m_Handle; // HANDLE pointer #ifndef _WIN32 bool m_bNamed; #endif };