最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言 pthread_create() 函數(shù)講解

 更新時間:2021年08月12日 10:17:28   作者:Ruigel1  
這篇文章主要介紹了C語言 pthread_create() 函數(shù)講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

pthread_create()函數(shù)詳解

pthread_create是類Unix操作系統(tǒng)(Unix、Linux、Mac OS X等)的創(chuàng)建線程的函數(shù)。它的功能是創(chuàng)建線程(實際上就是確定調(diào)用該線程函數(shù)的入口點),在線程創(chuàng)建以后,就開始運行相關(guān)的線程函數(shù)。

頭文件:

#include<pthread.h>

函數(shù)原型:

int pthread_create (pthread_t * tidp,     const pthread_attr_t * attr,    void * (*start_rtn)(void*),      void *arg);
各個參數(shù)說明:
第一個參數(shù)為指向線程標識符的指針。
第二個參數(shù)用來設置線程屬性。
第三個參數(shù)是線程運行函數(shù)的起始地址。
最后一個參數(shù)是運行函數(shù)的參數(shù)。
編譯鏈接參數(shù):
-lpthread
返回值:

    若線程創(chuàng)建成功,則返回0。若線程創(chuàng)建失敗,則返回出錯編號,并且*thread中的內(nèi)容是未定義的。

    返回成功時,由tidp指向的內(nèi)存單元被設置為新創(chuàng)建線程的線程ID。attr參數(shù)用于指定各種不同的線程屬性。新創(chuàng)建的線程從start_rtn函數(shù)的地址開始運行,該函數(shù)只有一個萬能指針參數(shù)arg,如果需要向start_rtn函數(shù)傳遞的參數(shù)不止一個,那么需要把這些參數(shù)放到一個結(jié)構(gòu)中,然后把這個結(jié)構(gòu)的地址作為arg的參數(shù)傳入。
    linux下用C語言開發(fā)多線程程序,Linux系統(tǒng)下的多線程遵循POSIX線程接口,稱為pthread。
注意事項:
    因為pthread并非Linux系統(tǒng)的默認庫,而是POSIX線程庫。在Linux中將其作為一個庫來使用,因此加上 -lpthread(或-pthread)以顯式鏈接該庫。函數(shù)在執(zhí)行錯誤時的錯誤信息將作為返回值返回,并不修改系統(tǒng)全局變量errno,當然也無法使用perror()打印錯誤信息。
示例代碼:
輸出線程標識符:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include <string.h>


void printids(const char *s)
{
pid_t pid;
pthread_t tid;
pid = getpid();
tid = pthread_self();
printf("%s pid %u tid %u (0x%x)\n", s, (unsigned int) pid, (unsigned int) tid, (unsigned int) tid);

}

void * thr_fn(void *arg)
{
printids("new thread: ");
return NULL;
}

int main()
{
int err;
pthread_t ntid;
err = pthread_create(&ntid, NULL, thr_fn, NULL);
if(err != 0)
{
printf("Can't create thread: %s\n", strerror(err));
}

printids("main thread");
pthread_join(ntid, NULL);

return EXIT_SUCCESS;
}

結(jié)果展示:

到此這篇關(guān)于C語言 pthread_create() 函數(shù)講解的文章就介紹到這了,更多相關(guān)C語言 pthread_create()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++使用循環(huán)計算標準差的代碼實現(xiàn)

    C++使用循環(huán)計算標準差的代碼實現(xiàn)

    在C++中,計算標準差可以使用循環(huán)來實現(xiàn),本文給大家介紹了一個示例代碼,演示了如何使用循環(huán)計算標準差,文中示例代碼介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2023-12-12
  • C語言中編寫可變參數(shù)函數(shù)

    C語言中編寫可變參數(shù)函數(shù)

    這篇文章主要介紹了C語言中編寫可變參數(shù)函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • C++中輸入輸出流及文件流操作總結(jié)

    C++中輸入輸出流及文件流操作總結(jié)

    這篇文章主要為大家總結(jié)了C++中輸入輸出流及文件流操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • C++中變量進行初始化的3種方法

    C++中變量進行初始化的3種方法

    本文主要介紹了C++中變量進行初始化的3種方法,包括用"=",構(gòu)造函數(shù)初始化以及統(tǒng)一初始化這三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,著小編來一起學習學習吧
    2024-02-02
  • C語言如何實現(xiàn)一些算法或者函數(shù)你知道嗎

    C語言如何實現(xiàn)一些算法或者函數(shù)你知道嗎

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)一些算法或者函數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言實現(xiàn)放煙花的程序

    C語言實現(xiàn)放煙花的程序

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)放煙花的程序,有音樂播放,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • win32 api實現(xiàn)2048游戲示例

    win32 api實現(xiàn)2048游戲示例

    這篇文章主要介紹了win32 api實現(xiàn)2048游戲示例,需要的朋友可以參考下
    2014-05-05
  • C++無痛實現(xiàn)日期類的示例代碼

    C++無痛實現(xiàn)日期類的示例代碼

    凡是要寫類必須要提到六大默認成員(六位大爺):構(gòu)造函數(shù)、析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、賦值重載函數(shù)、取地址重載函數(shù)(包括const對象和普通對象);那么這次的日期類又需要伺候哪幾位大爺呢?本文就來詳細說說
    2022-10-10
  • 詳解C語言的void*空指針

    詳解C語言的void*空指針

    這篇文章主要為大家詳細介紹了C語言的void*空指針,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • VS2019配置opencv詳細圖文教程和測試代碼的實現(xiàn)

    VS2019配置opencv詳細圖文教程和測試代碼的實現(xiàn)

    這篇文章主要介紹了VS2019配置opencv詳細圖文教程和測試代碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04

最新評論

千阳县| 青冈县| 贵港市| 昌平区| 博野县| 耒阳市| 扬中市| 潮安县| 珲春市| 陈巴尔虎旗| 元朗区| 毕节市| 孝感市| 普安县| 黎城县| 锦州市| 民丰县| 安国市| 河间市| 徐汇区| 盐津县| 始兴县| 云南省| 涞源县| 玉田县| 阿克苏市| 砚山县| 青神县| 沈阳市| 灌云县| 富源县| 安吉县| 西畴县| 筠连县| 宁化县| 剑河县| 焉耆| 丹东市| 灵寿县| 富蕴县| 纳雍县|