C語言 執行緒

2021-09-29 21:05:05 字數 1130 閱讀 2437

執行緒

程序執行緒間有共享記憶體

相當於黑盒子,不共享記憶體,會複製一整套全域性變數

【例子1】初始:建立、執行、主線程等待子執行緒、子執行緒執行速度不同步

#include

#include

#include

//c語言執行緒的標頭檔案

// 執行緒執行的函式

// 1. 返回值一定要void *

// 2. 返回值一定要null

void

*myfunc

(void

*args)

intmain()

【例子2】傳參、讓執行緒分別處理子任務後合併結果

// 用兩個子執行緒處理乙個陣列求和

#include

#include

#include

typedef

struct

my_args;

//定義乙個自己的引數型別

int arr[

5000];

//待求和陣列

void

*myfunc

(void

* args)

intmain()

;//第乙個執行緒處理arr中0-2500

my_args args2 =

;pthread_create

(&th1,

null

, myfunc,

&args1)

;//傳引數

pthread_create

(&th2,

null

, myfunc,

&args2)

;// 堵塞,等待兩個執行緒結束

pthread_join

(th1,

null);

pthread_join

(th2,

null);

i = args1->result + args2->result;

printf

("%d + %d = %d"

, args1->result, args2->result, i)

;return0;

}

C語言多執行緒

首先多執行緒需要乙個標頭檔案進行導包 include 接下來我們需要弄乙個執行緒變數,建立到 都可以,不過推薦建立到外邊,比如pthread t th1 接下來我們開始建立執行緒,如果是大型工程的話,建議放到乙個函式裡邊,這個語句是pthread create th1,null,awm,null 如...

C語言多執行緒

pthread create的含義為 intpthread create pthread t tidp,constpthread attr t attr,void start rtn void void arg pthread ttidp為指向執行緒識別符號的指標。constpthread attr...

c語言基礎 執行緒

在標頭檔案 threads.h 中,定義和宣告了支援多執行緒的巨集 型別和函式。所有直接與執行緒相關的識別符號,均以字首 thrd 作為開頭。例如,thrd t 是乙個物件型別,它標識了乙個執行緒。建立並開始執行乙個新執行緒thrd create int thrd create thrd t thr...