激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - C語言 pthread_create() 函數講解

C語言 pthread_create() 函數講解

2021-12-14 15:27Ruigel1 C/C++

這篇文章主要介紹了C語言 pthread_create() 函數講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

pthread_create()函數詳解

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

頭文件:

#include<pthread.h>

函數原型:

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

    若線程創建成功,則返回0。若線程創建失敗,則返回出錯編號,并且*thread中的內容是未定義的。

    返回成功時,由tidp指向的內存單元被設置為新創建線程的線程ID。attr參數用于指定各種不同的線程屬性。新創建的線程從start_rtn函數的地址開始運行,該函數只有一個萬能指針參數arg,如果需要向start_rtn函數傳遞的參數不止一個,那么需要把這些參數放到一個結構中,然后把這個結構的地址作為arg的參數傳入。
    linux下用C語言開發多線程程序,Linux系統下的多線程遵循POSIX線程接口,稱為pthread。
注意事項:
    因為pthread并非Linux系統的默認庫,而是POSIX線程庫。在Linux中將其作為一個庫來使用,因此加上 -lpthread(或-pthread)以顯式鏈接該庫。函數在執行錯誤時的錯誤信息將作為返回值返回,并不修改系統全局變量errno,當然也無法使用perror()打印錯誤信息。
示例代碼:
輸出線程標識符:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#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;
}

結果展示:

C語言 pthread_create() 函數講解

到此這篇關于C語言 pthread_create() 函數講解的文章就介紹到這了,更多相關C語言 pthread_create()內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/ruigelwang/p/13163304.html

延伸 · 閱讀

精彩推薦
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
主站蜘蛛池模板: 欧美成年人视频 | 国产精选电影免费在线观看网站 | 日本aaaa片毛片免费观看视频 | 成人久久久精品乱码一区二区三区 | 99久久久精品 | 久久精品亚洲欧美日韩精品中文字幕 | 欧美日韩网站在线观看 | 草免费视频 | 黄色成人短视频 | 久久不雅视频 | 一级大黄毛片 | av影院在线播放 | 久操免费在线视频 | 天堂成人一区二区三区 | 国产乱色精品成人免费视频 | 国产精品亚洲一区二区三区久久 | 91视频成人入口 | 精品国产一区二区三区久久久蜜月 | 欧美日韩在线播放 | av影院在线播放 | 91精品国产91久久久久久不卞 | 国产精选在线 | 欧美aaaaa一级毛片在线 | 亚洲人片在线观看 | 免费观看视频在线观看 | 国产精品嘿咻嘿咻在线播放 | 永久免费不卡在线观看黄网站 | 国产精品一区在线观看 | 小视频免费在线观看 | 性日本xxx| 黑人一区二区 | 国产午夜免费视频 | 久久精品中文 | av成人在线电影 | 国产精品午夜未成人免费观看 | 欧美一级精品 | 欧美一区二区三区四区五区动图 | 欧美日韩国产成人在线 | 黄色免费不卡视频 | 亚洲综合网站 | 色妞欧美 |