您的位置:首页 > 其它

互斥对象是一个分成简单的多线程同步的内核对象。

2014-12-28 15:03 197 查看
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <windows.h>
#include <stdlib.h>
int g_nNum = 0;
HANDLE g_hMutex = nullptr;
DWORD WINAPI ThreadProc(LPVOID lpParam)
{
	for (int i = 0; i < 5; i++)
	{
		WaitForSingleObject(g_hMutex, INFINITE);
		printf("%d ", g_nNum++);
		ReleaseMutex(g_hMutex);
	}
	return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
	if (!(g_hMutex = CreateMutex(NULL, FALSE, NULL)))
		return 0;
	CreateThread(NULL, 0, ThreadProc, NULL, 0, nullptr);
	CreateThread(NULL, 0, ThreadProc, NULL, 0, nullptr);
	system("pause");
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: