多线程简单示例

来源:互联网 发布:免费bpm软件 编辑:程序博客网 时间:2024/04/24 02:14

1、示例代码

#include<windows.h>  //访问API函数

#include<iostream.h>

#include <windows.h>
#include <iostream.h>

DWORD WINAPI Fun1Proc(LPVOID lpParameter);

void main()
{
HANDLE hThread1;
hThread1 =CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);  //第四个参数用于想线程传递参数。第五个参数为0表示创建后立即执行。第六个参数为返回值表示线程ID。
CloseHandle(hThread1);   //递减该线程内核对象的引用计数。当线程执行完毕,计数还会减,当为0时,系统释放线程内核对象。如果没有关闭,即使线程运行结束,计数也不会为0.除非进程终止.
int i=0;
while (i++<100)
{
       cout<<"main thread is running"<<endl;
}
return;
}

DWORD WINAPI Fun1Proc(LPVOID lpParameter)
{
int i=0;
while (i++<100)
{
        cout<<"#######################"<<endl;
}
return 0;

}


(1)主线程退出,进程会结束.所以不能让主线程退出.

(2)可以 sleep(),让主线程放弃执行,让新创建的线程得到执行机会。