日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【C/C++多线程编程之三】创建pthread线程

發布時間:2025/3/15 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C/C++多线程编程之三】创建pthread线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多線程編程之創建pthread線程

? ? ??Pthread POSIX threads 的簡稱,是POSIX線程標準。

? ? ? ? ? 創建線程是多線程編程的第一步,理解線程創建時多線程編程的關鍵。

? ? ? ? ?1.創建Pthread線程:pthread_create()

? ? ? ? ? ?Pthread通過線程創建函數 pthread_create()來創建一個線程。其定義如下:

? ? ? ? ? ?參數:

? ? ? ? ? ?第一個參數:線程ID指針,本質上是線程ID的寫入地址;

? ? ? ? ? ?第二個參數:線程屬性參數;

? ? ? ? ? ?第三個參數:線程運行函數地址;

? ? ? ? ? ?第四個參數:運行時函數參數;

? ? ? ? ? ?今天我們創建缺省線程,不用第二和第四參數,這部分內容以后的章節會詳細講解。第一個參數是pthread_t類型指針,宏pthread_t原型是unsigned long int

?,用于存儲線程的ID。在系統中,每個線程都有唯一的線程ID,用于管理線程。第三個參數void * (*start_function)(void *)含義是指向返回值為void *,參數類型為void*的函數的指針,簡單講就是函數地址。

? ? ? ? ? ?2.pthread_create的理解

  • 返回值pthread_create返回一個int類型值,線程創建成功時返回0;其他值都表示創建線程發生錯誤。容易誤解為返回線程ID。
  • 第一個參數pthread_t類型指針,實質上是將一個pthread_t變量的地址傳遞給函數,pthread_create函數將創建線程的ID寫入該pthread_t變量,便可通過該pthread_t獲得線程ID。
  • 線程創建隨即運行pthread_create函數創建線程成功后,該線程隨即運行。

? ? ? ? ???3.pthread_create牛刀小試

?

#include "pthread.h"

#include "sched.h"

#include "semaphore.h"

#include "stdio.h"

#include "windows.h"

?

#pragma comment(lib, "pthreadVC2.lib")? //必須加上這句

?

pthread_t t1;?????????????????????????? //pthread_t變量t1,用于存儲線程ID

?

void* My_thread(void* args)

{

//線程運行函數

for(int i = 0; i < 100; i++)

{

?????? printf("I am your thread ,? my ID is?? %d\n",t1);

}

???

return NULL;

}

int main()

{

pthread_create(&t1,NULL,My_thread,NULL);? //創建缺省線程

??? Sleep(1000000);? //主線程休眠,給新建的線程執行機會

???

return 0; //主線程不休眠,執行到return 0;程序結束,看不到線程輸出

}

?

? ? ? ? ? ? ? ? ??mian 函數運行時,系統會自動創建一個線程,稱為主線程。通過pthread_create創建的線程,稱為子線程。程序中通過Sleep函數休眠主線程,讓子線程運行打印信息,否則主線程return 0結束該進程,新建的子線程也隨即死亡,屏幕上將看不到子線程的輸出。

?

來自 <https://blog.csdn.net/lovecodeless/article/details/23786911>

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的【C/C++多线程编程之三】创建pthread线程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。