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

 

posted on 2021-01-03 23:05  lydstory  阅读(65)  评论(0)    收藏  举报

导航