// linethread.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;
int index = 0;
HANDLE hmutex;
DWORD WINAPI FUN1(LPVOID lpParameter)
{
int i=0;
while (true)
{
WaitForSingleObject(hmutex,INFINITE);
cout<<"threadA : "<< i << "\n"<<endl;
i++;
Sleep(100);
ReleaseMutex(hmutex);
}
return 0;
}
DWORD WINAPI FUN2(LPVOID lpParameter)
{
while (true)
{
WaitForSingleObject(hmutex,INFINITE);
cout<<"threadB\n"<<endl;
ReleaseMutex(hmutex);
}
return 0;
}
int main(int argc, _TCHAR* argv[])
{
HANDLE hThreadA;
HANDLE hThreadB;
hmutex = CreateMutex(NULL,false,NULL);
hThreadA = CreateThread(NULL,0,FUN1,NULL,0,NULL);
hThreadB = CreateThread(NULL,0,FUN2,NULL,0,NULL);
CloseHandle(hThreadA);
CloseHandle(hThreadB);
while (true)
{
WaitForSingleObject(hmutex,INFINITE);
cout<<"main\n"<<endl;
ReleaseMutex(hmutex);
}
return 0;
}