sem window+linux
#include <semaphore.h>
#ifdef __WIN32__
HANDLE m_evt;
void InitEvent() {
m_evt = CreateEvent(NULL, FALSE, FALSE, NULL);
}
void DestroyEvent() {
CloseHandle(&m_evt);
}
void RaiseEvent() {
SetEvent(m_evt);
}
void WaitEvent() {
WaitForSingleObject(m_evt, INFINITE);
}
#else
sem_t m_evt;
void InitEvent() {
sem_init(&m_evt, 0, 0);
}
void DestroyEvent() {
sem_destroy(&m_evt);
}
void RaiseEvent() {
sem_post(&m_evt);
}
void WaitEvent() {
sem_wait(&m_evt);
}
#endif
浙公网安备 33010602011771号