#include"stdafx.h"
#include
//###########################################################################
//使用方法:
//1声明一个Semaphore
#defineDECLARE_SEMAPHORE(_hSemaphore)HANDLE_hSemaphore;
//2初始化一个Semaphore,初值是_initCount,最大值是_hSemaphore;
#defineINIT_SEMAPHORE(_hSemaphore,_initCount,_maxCount)\
_hSemaphore=CreateSemaphore(NULL,_initCount,_maxCount,NULL);
//3P原语操作
#defineP(_hSemaphore)WaitForSingleObject(_hSemaphore,INFINITE);
//4V原语操作
#defineV(_hSemaphore)ReleaseSemaphore(_hSemaphore,1,NULL);
//###########################################################################
//##########################################################################
typedefUINT(WINAPI*pThreadFunc)(LPVOIDlpParam);
pThreadFuncspThreadFuncArray[128]={NULL};
#defineDECLARE_THREAD_ARRAY(_hThreadArray)HANDLE_hThreadArray##[128]={NULL};
#defineINIT_THREAD_FUNC_ARRAY(_x,_hThreadArray)\
do{\
DWORDdwThreadId,dwThrdParam=1;\
_hThreadArray[_x]=CreateThread(NULL,0,ThreadFunc##_x,&dwThrdParam,0,&dwThreadId);\
}while(0);
//#############################################################################
DWORDWINAPIThreadFunc0(LPVOIDlpParam);
DWORDWINAPIThreadFunc1(LPVOIDlpParam);
DWORDWINAPIThreadFunc2(LPVOIDlpParam);
DWORDWINAPIThreadFunc3(LPVOIDlpParam);
DWORDWINAPIThreadFunc4(LPVOIDlpParam);
DWORDWINAPIThreadFunc5(LPVOIDlpParam);
DWORDWINAPIThreadFunc0(LPVOIDlpParam)
{
return0;
}
DWORDWINAPIThreadFunc1(LPVOIDlpParam)
{
return0;
}
DWORDWINAPIThreadFunc2(LPVOIDlpParam)
{
return0;
}
DWORDWINAPIThreadFunc3(LPVOIDlpParam)
{
return0;
}
DWORDWINAPIThreadFunc4(LPVOIDlpParam)
{
return0;
}
DWORDWINAPIThreadFunc5(LPVOIDlpParam)
{
return0;
}
//##########################################################################
intmain(intargc,char*argv[])
{
DECLARE_THREAD_ARRAY(hThreadArray1);
INIT_THREAD_FUNC_ARRAY(0,hThreadArray1);
INIT_THREAD_FUNC_ARRAY(1,hThreadArray1);
INIT_THREAD_FUNC_ARRAY(2,hThreadArray1);
INIT_THREAD_FUNC_ARRAY(3,hThreadArray1);
INIT_THREAD_FUNC_ARRAY(4,hThreadArray1);
INIT_THREAD_FUNC_ARRAY(5,hThreadArray1);
printf("HelloWorld!\n");
return0;
}
分 -->
|