多執行緒02 pThread簡單介紹

2021-09-07 12:23:34 字數 1209 閱讀 8917

pthread 是屬於 posix 多執行緒開發框架。

它是c語言提供的乙個跨平台的多執行緒解決方式。因為其在ios程式設計中,操作比較麻煩。一般不用,這裡介紹只作為了解。

通過下面函式建立pthread,在c語言中型別的結尾通常 _t/ref,並且不須要使用 *:

int pthread_create(pthread_t * __restrict, const pthread_attr_t * __restrict,

void *(*)(void *), void * __restrict);

引數:

1. pthread_t * __restrict 執行緒代號的位址

2. onst pthread_attr_t * __restrict 執行緒的屬性

3. 呼叫函式的指標

- void *(*)(void *)

- 返回值 (函式指標)(引數)

- void * 和 oc 中的 id 是等價的

4. void * __restrict :傳遞給該函式的引數

返回值:

#import "viewcontroller.h"

#import

@inte***ce

viewcontroller ()

@end

@implementation

viewcontroller

- (void)viewdidload

void* demo(void* params)

return

null;

}@end

__bridge(橋接)在 arc 開發中。假設設計到和 c 語言中同樣的資料型別進行轉換時。須要使用 __bridge 「橋接」

在 oc 中,假設是 arc 開發,編譯器會在編譯的時候,自己主動依據**結構,加入 retain, release, autorelease

arc 只負責 oc 部分的**。不負責 c 的**。假設 c 語言的框架出現 retain/create/copy 字樣的函式。都須要release

執行結果

pthread 多執行緒

多執行緒程式指的是在同乙個程式中多個執行流併發執行,它們共享程序的同乙個位址空間,分別完成相應的任務,並通過共享位址空間等方式完成執行緒間通訊,cpu按照時間片輪轉等方式對執行緒進行切換和排程。通常而言,執行緒共享的程序資源包括 linux中線程的建立依賴於lpthread.so 庫,建立乙個thr...

pthread建立多執行緒

include include include include include include include include include include include tinyxml tinyxml.h include include include include define macxm...

Linux 多執行緒 pthread

1.linux執行緒的發展 早在linux2.2核心中。並不存在真正意義上的執行緒,當時linux中常用的執行緒pthread實際上是通過程序來模擬的,也就是同過fork來建立 輕 程序,並且這種輕程序的執行緒也有個數的限制 最多只能有4096和此類執行緒同時執行。2.4核心消除了個數上的限制,並且...