主题:多线程
#include <stdio.h>
#include <windows.h>
#include <process.h>
HANDLE lock;
UINT __stdcall run(void *)
{
WaitForSingleObject(lock, INFINITE);
printf("run\n");
ReleaseMutex(lock); return 0;
}
int main()
{
HANDLE a;
lock=CreateMutex(NULL,false,NULL);//创建一个锁!
a=(HANDLE)_beginthreadex(NULL,0,&run,NULL,0,0);//进入run
WaitForSingleObject(lock, INFINITE);
printf("main!\n");
ReleaseMutex(lock);
WaitForSingleObject(a, INFINITE); //等待run线程的返回
CloseHandle(lock);
CloseHandle(a);
return 0;
}
//-----------
结果是什么,大家分析一下,和I/O模块(printf()的执行)有没有关系? 多谢了
#include <windows.h>
#include <process.h>
HANDLE lock;
UINT __stdcall run(void *)
{
WaitForSingleObject(lock, INFINITE);
printf("run\n");
ReleaseMutex(lock); return 0;
}
int main()
{
HANDLE a;
lock=CreateMutex(NULL,false,NULL);//创建一个锁!
a=(HANDLE)_beginthreadex(NULL,0,&run,NULL,0,0);//进入run
WaitForSingleObject(lock, INFINITE);
printf("main!\n");
ReleaseMutex(lock);
WaitForSingleObject(a, INFINITE); //等待run线程的返回
CloseHandle(lock);
CloseHandle(a);
return 0;
}
//-----------
结果是什么,大家分析一下,和I/O模块(printf()的执行)有没有关系? 多谢了