mfc通过信号量保证线程同步

1、声明一个全局handle,记住在cpp里也声明

extern HANDLE uiHandle;

2、创建信号量

uiHandle = CreateSemaphore(NULL,1,1,NULL);

3、使用

线程1:
WaitForSingleObject(uiHandle,INFINITE);

a++;//在这里访问同一对象
ReleaseSemaphore(uiHandle,1,NULL);

线程2:

WaitForSingleObject(uiHandle,INFINITE);

a--;//在这里访问同一对象
ReleaseSemaphore(uiHandle,1,NULL);

4、内存回收

CloseHandle(uiHandle);

posted @ 2019-05-10 17:43  朱小勇  阅读(800)  评论(0编辑  收藏  举报