Win32多线程程序设计
2013.3.14
1、产生一个线程
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
启动线程简单例子:
#include <Windows.h>
#include <stdio.h>
DWORD WINAPI ThreadFunc(LPVOID);
void main()
{
HANDLE hThread;
DWORD threadId;
int i;
hThread = CreateThread(NULL,
0,
ThreadFunc,
0,
0,
&threadId );
printf("Thread running!!!"); //1
getchar();
}
DWORD WINAPI ThreadFunc(LPVOID p)
{
printf("who is the first running?");//2
return 1;
}
运行可以看到,Thread running!!!who is the first running?说明2比1先运行,或者它们的顺序不一定谁在前,这至少说明使用线程后,一切的结果都是难以预料的,这要特别注意!!