antiantantiant.blog.chinaunix.net
antiant
全部博文(32)
线程间通信(9)
进程间通信(0)
网络通信(1)
2010年(32)
大鬼不动
zzbok
36853
分类: WINDOWS
2010-06-26 00:12:17
#include "stdafx.h" #include <afxwin.h> #include <windows.h> HANDLE hSemaphore; UINT ThreadProcFirst(LPVOID pParam); UINT ThreadProcSecond(LPVOID pParam); UINT ThreadProcThird(LPVOID pParam); int main(int argc, char* argv[]) { hSemaphore = CreateSemaphore(NULL, 2, 2, NULL); AfxBeginThread(ThreadProcFirst, NULL); AfxBeginThread(ThreadProcSecond, NULL); AfxBeginThread(ThreadProcThird, NULL); /*延迟进程退出*/ Sleep(5*1000); // CloseHandle(hSemaphore); return 0; } UINT ThreadProcFirst( LPVOID pParam ) { WaitForSingleObject(hSemaphore, INFINITE); AfxMessageBox("First"); ReleaseSemaphore(hSemaphore, 1, NULL); return 0; } UINT ThreadProcSecond( LPVOID pParam ) { WaitForSingleObject(hSemaphore, INFINITE); AfxMessageBox("Second"); ReleaseSemaphore(hSemaphore, 1, NULL); return 0; } UINT ThreadProcThird( LPVOID pParam ) { WaitForSingleObject(hSemaphore, INFINITE); AfxMessageBox("Third"); ReleaseSemaphore(hSemaphore, 1, NULL); return 0; }
上一篇:事件内核对象示例-命名事件
下一篇:信号量示例-MFC信号量类CSemaphore
登录 注册