同時執(zhí)行,使用線程了
在龍安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計制作、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),龍安網(wǎng)站建設(shè)費用合理。
C語言本身沒有提供線程的功能,只能調(diào)用平臺的線程來實現(xiàn)
如果在 WINDOWS 下面,可以參考一下 CreateThread 方法
c語言中一個完整的函數(shù)由函數(shù)首部和函數(shù)體構(gòu)成,而且定義函數(shù)時兩者都是必不可少的。
函數(shù)定義的一般形式如下:
類型標識符
函數(shù)名(形參表列)
//
這是函數(shù)首部
//
以下{
}內(nèi)的是函數(shù)體
{
說明部分
執(zhí)行部分
}
舉例說明如下:
//
定義一個不帶返回值的函數(shù)
//
函數(shù)功能:輸出形參的值
void
fun(int
a,
int
b)
{
printf("%d,
%d\n",
a,
b);
}
//
定義一個帶返回值的函數(shù)
//
函數(shù)功能:返回2個整數(shù)數(shù)的最大值
int
fun(int
a,
int
b)
{
return
ab
?
a
:
b;
}
#include?iostream//?必須的頭文件#include?pthread.h
using?namespace?std;?
#define?NUM_THREADS?2?
//?線程的運行函數(shù)
void*?say_hello(void*?args){
cout??"Hello?Runoob!"??endl;????return?0;
}?
int?main(){
//?定義線程的?id?變量,多個變量使用數(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;????????
}
}
//等各個線程退出后,進程才結(jié)束,否則進程強制結(jié)束了,線程可能還沒反應過來;
pthread_exit(NULL);
}
g++ test.cpp -lpthread -o test.o 編譯
./test.o執(zhí)行