antiantantiant.blog.chinaunix.net
antiant
全部博文(32)
线程间通信(9)
进程间通信(0)
网络通信(1)
2010年(32)
大鬼不动
zzbok
36853
分类: WINDOWS
2010-06-24 00:35:21
#include <afxmt.h> CCriticalSection g_cs; char g_cArray[10]; UINT ThreadProcFirst(LPVOID pParam); UINT ThreadProcSecond(LPVOID pParam); void CMfcCriticalSectionDlg::OnButton1() { AfxBeginThread(ThreadProcFirst, NULL); AfxBeginThread(ThreadProcSecond, NULL); Sleep(300); /*Sleep(1000);*/ CString strResult = CString(g_cArray); AfxMessageBox(strResult); } UINT ThreadProcFirst( LPVOID pParam ) { g_cs.Lock(); printf("First"); for (int i = 0; i < 10; ++i) { g_cArray[i] = 'a'; Sleep(1); } g_cs.Unlock(); return 0; } UINT ThreadProcSecond( LPVOID pParam ) { g_cs.Lock(); printf("Second"); for (int i = 0; i < 10; ++i) { g_cArray[10-i-1] = 'b'; Sleep(1); } g_cs.Unlock(); return 0; }
上一篇:临界区示例
下一篇:临界区优缺点
登录 注册