轉:-------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;
}