VC6.0多线程例程
转:-------http://sunnysab.blog.163.com/blog/static/18037500920128113618804/
多线程可以给程序实现许多的功能,并且多个函数同时进行有效地提高了程序的运行效率。这篇文章讲的就是VC控制台下的多线程操作。本文章还得感谢《VC+API常用函数简单例子大全》的作者http://hi.baidu.com/3582077/home,该书下载地址(点击这里)。
DWORD _stdcall ThreadProc(LPVOID lpParameter)//线程执行函数
{
int si=100;
while(si>0)
{
printf("子线程输出数字:%d\n",si--);
Sleep(1000);
}
return 0;
}
int main()
{
int mi=0;
CreateThread(NULL,0,ThreadProc,NULL,0,NULL);//创建一个线程,去执行ThreadProc函数
while(mi<100)
{
printf("主线程输出数字:%d\n",mi++);
Sleep(1000);
}
return 0;
}
对其进行简单修改完成了双线程:
#include <stdio.h>
#include <windows.h>
DWORD _stdcall ThreadProc1(LPVOID lpParameter)//线程执行函数
{
int si=100;
while(1)
{
//printf("子线程输出数字:%d\n",si--);
printf("1");
}
return 0;
}
DWORD _stdcall ThreadProc2(LPVOID lpParameter)//线程执行函数
{
while(1)
{
printf("2");
}
return 0;
}
int main()
{
int mi=0;
while (mi<100)
{
CreateThread(NULL,0,ThreadProc1,NULL,0,NULL);//创建1个线程,去执行ThreadProc1函数
CreateThread(NULL,0,ThreadProc2,NULL,0,NULL);//创建2个线程,去执行ThreadProc2函数
printf("主线程输出数字:%d\n",mi++);
Sleep(100);
}
return 0;
}