// EX1_01.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <stdio.h>
static HANDLE ghMutex;
void LockBattery(void);
void UnLockBattery(void);
DWORD WINAPI Thread1(LPVOID lPpara);
DWORD WINAPI Thread2(LPVOID lPpara);
HANDLE hThread1;
HANDLE hThread2;
int i;
int _tmain(int argc, _TCHAR* argv[])
{
ghMutex = CreateMutex(NULL, FALSE, NULL);
hThread1=CreateThread(NULL,NULL,Thread1,0,NULL,NULL);
hThread2=CreateThread(NULL,NULL,Thread2,0,NULL,NULL);
//ResumeThread( hThread1 );
//ResumeThread( hThread2 );
while (1);
// for (i=0;i<9999;i++);
return 1;
}
DWORD WINAPI Thread1(LPVOID lPpara)
{
while (1)
{
LockBattery();
}
return 1 ;
}
DWORD WINAPI Thread2(LPVOID lPpara)
{
while (1)
{
UnLockBattery();
}
return 1;
}
void LockBattery(void)
{
WaitForSingleObject(ghMutex, INFINITE);
std::cout << "Hello world!\n"<< std::endl;
ReleaseMutex(ghMutex);
}
void UnLockBattery(void)
{
WaitForSingleObject(ghMutex, INFINITE);
std::cout << " Say Bye! L \n "<< std::endl;
ReleaseMutex(ghMutex);
}
//
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <stdio.h>
static HANDLE ghMutex;
void LockBattery(void);
void UnLockBattery(void);
DWORD WINAPI Thread1(LPVOID lPpara);
DWORD WINAPI Thread2(LPVOID lPpara);
HANDLE hThread1;
HANDLE hThread2;
int i;
int _tmain(int argc, _TCHAR* argv[])
{
ghMutex = CreateMutex(NULL, FALSE, NULL);
hThread1=CreateThread(NULL,NULL,Thread1,0,NULL,NULL);
hThread2=CreateThread(NULL,NULL,Thread2,0,NULL,NULL);
//ResumeThread( hThread1 );
//ResumeThread( hThread2 );
while (1);
// for (i=0;i<9999;i++);
return 1;
}
DWORD WINAPI Thread1(LPVOID lPpara)
{
while (1)
{
LockBattery();
}
return 1 ;
}
DWORD WINAPI Thread2(LPVOID lPpara)
{
while (1)
{
UnLockBattery();
}
return 1;
}
void LockBattery(void)
{
WaitForSingleObject(ghMutex, INFINITE);
std::cout << "Hello world!\n"<< std::endl;
ReleaseMutex(ghMutex);
}
void UnLockBattery(void)
{
WaitForSingleObject(ghMutex, INFINITE);
std::cout << " Say Bye! L \n "<< std::endl;
ReleaseMutex(ghMutex);
}