同時(shí)執(zhí)行,使用線程了
創(chuàng)新互聯(lián)是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營(yíng)經(jīng)驗(yàn)。主營(yíng)GPU顯卡服務(wù)器,站群服務(wù)器,珉田數(shù)據(jù)中心,海外高防服務(wù)器,機(jī)柜大帶寬、租用·托管,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。
C語(yǔ)言本身沒(méi)有提供線程的功能,只能調(diào)用平臺(tái)的線程來(lái)實(shí)現(xiàn)
如果在 WINDOWS 下面,可以參考一下 CreateThread 方法
#include?iostream//?必須的頭文件#include?pthread.h
using?namespace?std;?
#define?NUM_THREADS?2?
//?線程的運(yùn)行函數(shù)
void*?say_hello(void*?args){
cout??"Hello?Runoob!"??endl;????return?0;
}?
int?main(){
//?定義線程的?id?變量,多個(gè)變量使用數(shù)組
pthread_t?tids[NUM_THREADS];????
for(int?i?=?0;?i??NUM_THREADS;?++i)
{
//參數(shù)依次是:創(chuàng)建的線程id,線程參數(shù),調(diào)用的函數(shù),傳入的函數(shù)參數(shù)
int?ret?=?pthread_create(tids[i],?NULL,?say_hello,?NULL);????????
if?(ret?!=?0)
{
cout??"pthread_create?error:?error_code="??ret??endl;????????
}
}
//等各個(gè)線程退出后,進(jìn)程才結(jié)束,否則進(jìn)程強(qiáng)制結(jié)束了,線程可能還沒(méi)反應(yīng)過(guò)來(lái);
pthread_exit(NULL);
}
g++ test.cpp -lpthread -o test.o 編譯
./test.o執(zhí)行
在Win32程序中,可以使用多線程來(lái)實(shí)現(xiàn),但是那個(gè)比較復(fù)雜,不太容易在短時(shí)間內(nèi)掌握。