Win32创建多线程,代码贴下
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <conio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <math.h>
#include <io.h>
#include <fcntl.h>
#define MAX_THREADS 3
DWORD WINAPI Printer_Thread(LPVOID data);
DWORD WINAPI Printer_Thread(LPVOID data){
for (int index=0;index<25;index++)
{
printf("%d",(int)data+1);
Sleep(100);
}
return (DWORD)data;
}
void main(void){
HANDLE thread_Handle[MAX_THREADS];
DWORD thread_id[MAX_THREADS];
printf("/nStarting all thread.../n");
for(int index=0;index<MAX_THREADS;index++){
thread_Handle[index]=CreateThread(NULL,
0,
Printer_Thread,
(LPVOID)index,
0,
&thread_id[index]);///创建线路
}
for(index=0;index<75;index++){
printf("4");
Sleep(100);
}
for(index=0;index<MAX_THREADS;index++){//指定句柄无效
CloseHandle(thread_Handle[index]);
}
printf("/nALL threads teminated./n");
}
注意:编译的时候记得选择Project,setting,在c/C++选项卡的Category:Code Generation选项中,将
Use Run-time Library设置为Multithreaded.