c++多线程实例,c语言实现多线程的几种方法
#include stdafx.h
#包含windows.h
#包含标准视频
处理文件句柄
//定义临界区
临界_截面cs;
DWORD WINAPI线程(LPVOID lpParam)
{
//得到线程的编号
int n=(int)LP param;
DWORD dvWrite
for(int I=0;我10000;i ){
//进入临界区
进入临界区(cs);
char Data[512]=\r\n -作者陈-\ r \ n-http://www.baidu.com/-;
//写入文件
WriteFile(hFile,Data,strlen(Data),dvWrite,NULL);
//离开临界区
LeaveCriticalSection(cs);
}
//输出哪个线程运行结束
printf(数目%d线程运行结束\n ,n);
返回0;
}
int _tmain(int argc,_TCHAR* argv[])
{
//创建文件
hFile=CreateFile(c:\\hack.txt ,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile==INVALID _ HANDLE _ VALUE){
printf(创建文件错误!\ n’);
}
DWORD ThreadId
处理hThread[5];
//初始化临界区对象
InitializeCriticalSection(cs);
//创建5个线程
for(int I=0;i5;i ){
hThread[i]=CreateThread(NULL,NULL,Thread,LPVOID(i 1),0,ThreadId);
printf(编号% d线程创建成功!\n ,I 1);
}
//等待五个线程运行结束
WaitForMultipleObjects(5,hThread,true,INFINITE);
//删除临界区对象
DeleteCriticalSection(cs);
//关闭文件句柄
关闭句柄(hFile);
系统("暂停");
返回0;
}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。