15,472
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include "stdio.h"
#include <windows.h>
HANDLE hMutex = CreateMutex(NULL,false,NULL);
DWORD WINAPI ThreadProc( LPVOID lpParameter )
{
WaitForSingleObject(hMutex,INFINITE);
int *p = (int*)(lpParameter);
printf("%d\n",*p);
ReleaseMutex(hMutex);
return 0;
}
int main(int argc, char* argv[])
{
HANDLE hThread[5];
for( int i = 0; i < 5; i++)
{
hThread[i] = CreateThread(NULL,0,ThreadProc,(LPVOID)&i,CREATE_SUSPENDED,NULL);
}
for( int j = 0; j < 5; j++ )
{
ResumeThread(hThread[j]);
WaitForSingleObject(hThread[j],INFINITE);
}
for( int k = 0; k < 5; k++ )
{
CloseHandle(hThread[k]);
}
return 0;
}
#include "stdafx.h"
#include "stdio.h"
#include <windows.h>
HANDLE hMutex = CreateMutex(NULL,false,NULL);
DWORD WINAPI ThreadProc( LPVOID lpParameter )
{
WaitForSingleObject(hMutex,INFINITE);
int *p = (int*)(lpParameter);
printf("%d\n",*p);
ReleaseMutex(hMutex);
return 0;
}
int main(int argc, char* argv[])
{
HANDLE hThread[5];
for( int i = 0; i < 5; i++)
{
hThread[i] = CreateThread(NULL,0,ThreadProc,(LPVOID)&i,CREATE_SUSPENDED,NULL);
}
for( int j = 0; j < 5; j++ )
{
ResumeThread(hThread[j]);
WaitForSingleObject(hThread[j],INFINITE);
}
for( int k = 0; k < 5; k++ )
{
CloseHandle(hThread[k]);
}
return 0;
}
for( int i = 0; i < 5; i++)
{
HANDLE hThread[i] = CreateThread(NULL,0,ThreadProc,NULL,CREATE_SUSPENDED,NULL);
}
for( int j = 0; j < 5; j++ )
{
ResumeThread(hThread[i]);
}