·線程創(chuàng)建
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了永年免費(fèi)建站歡迎大家使用!
函數(shù)原型:int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void),void *restrict arg);
返回值:若是成功建立線程返回0,否則返回錯(cuò)誤的編號(hào)。
形式參數(shù):pthread_t *restrict tidp要?jiǎng)?chuàng)建的線程的線程id指針;
const pthread_attr_t *restrict attr創(chuàng)建線程時(shí)的線程屬性;
void* (start_rtn)(void)返回值是void類(lèi)型的指針函數(shù);
void *restrict arg start_rtn的形參。 =====這個(gè)地方就可以傳參數(shù),
注意,這個(gè)地方是個(gè)指針,要想傳多個(gè)參數(shù),可以定義一個(gè)結(jié)構(gòu)體,把要傳的參數(shù)包起來(lái),傳結(jié)構(gòu)體的地址就ok
C語(yǔ)言每一次函數(shù)調(diào)用,編譯器都會(huì)為這個(gè)函數(shù)調(diào)用分配一段空間,這段空間用來(lái)存放該函數(shù)中的所有局部變量和調(diào)用其它函數(shù)時(shí)需要傳遞的參數(shù)的副本。每一次調(diào)用這個(gè)函數(shù),這段空間都會(huì)重新分配,函數(shù)返回后這段空間就被釋放了,所以重復(fù)調(diào)用多少次都不會(huì)影響的。所有的這些函數(shù)調(diào)用時(shí)候分配的內(nèi)存都是在線程的棧上的。
順便說(shuō)一下,我覺(jué)得樓上的回答是不對(duì)的: 每個(gè)線程都只會(huì)訪問(wèn)自己調(diào)用的函數(shù)中的局部變量的,訪問(wèn)局部變量是不會(huì)存在多線程問(wèn)題的。會(huì)存在多線程問(wèn)題的肯定不是局部變量,有可能是局部變量指向的其它可共享的對(duì)象(例如:堆對(duì)象......),或者在函數(shù)中訪問(wèn)了全局對(duì)象,類(lèi)的成員變量等,這些并不是局部變量。
一個(gè)main函數(shù)對(duì)應(yīng)一個(gè)線程,對(duì)于操作系統(tǒng)而言,是可以多線程的,就好像你同時(shí)打開(kāi)兩個(gè)應(yīng)用程序一樣,而兩個(gè)線程之間要實(shí)現(xiàn)數(shù)據(jù)交流則要通過(guò)共享內(nèi)存或者管道什么的。所以簡(jiǎn)單的理解是一個(gè)程序只能有一個(gè)線程或main函數(shù),一個(gè)main函數(shù)里可以調(diào)用其他進(jìn)程或者函數(shù),而對(duì)于操作系統(tǒng)而言,沒(méi)有mian函數(shù)的概念,但是可以給每個(gè)線程分配cpu資源,各個(gè)線程同時(shí)運(yùn)行,但不能相互調(diào)用,線程是相互獨(dú)立的。只能通過(guò)共享機(jī)制實(shí)現(xiàn)互相通信。
分享題目:c語(yǔ)言函數(shù)線程調(diào)用函數(shù) c語(yǔ)言線程變量
URL地址:http://jinyejixie.com/article6/ddcdhig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、Google、搜索引擎優(yōu)化、App設(shè)計(jì)、電子商務(wù)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容