iOS之 多執行緒中的NSThread

2021-07-15 13:44:11 字數 1738 閱讀 7002

乙個nsthread物件就代表一條執行緒

nsthread *thread = [[nsthread alloc] initwithtarget:self selector:@selector(run) object:nil];

[thread start];

+ (nsthread *)mainthread; // 獲得主線程

- (bool)ismainthread; // 是否為主執行緒

+ (bool)ismainthread; // 是否為主執行緒

//獲得當前執行緒

nsthread *current = [nsthread currentthread];

- (void)setname:(nsstring *)n;

- (nsstring *)name;

//建立執行緒後自動啟動執行緒

[nsthread detachnewthreadselector:@selector(run) totarget:self withobject:nil];

//隱式建立並啟動執行緒

[self performselectorinbackground:@selector(run) withobject:nil];

-上述2種建立執行緒方式的優缺點

優點:簡單快捷

缺點:無法對執行緒進行更詳細的設定

圖示

//啟動執行緒

- (void)start;

// 進入就緒狀態 -> 執行狀態。當執行緒任務執行完畢,自動進入死亡狀態

//阻塞(暫停)執行緒

+ (void)sleepuntildate:(nsdate *)date;

+ (void)sleepfortimeinterval:(nstimeinterval)ti;

// 進入阻塞狀態

//強制停止執行緒

+ (void)exit;

// 進入死亡狀態

注意:一旦執行緒停止(死亡)了,就不能再次開啟任務

在1個程序中,執行緒往往不是孤立存在的,多個執行緒之間需要經常進行通訊

通常在1個執行緒中執行完特定任務後,轉到另1個執行緒繼續執行任務

IOS開發之多執行緒NSThread

一 什麼是多執行緒 nsthread是輕量級的多執行緒開發,使用並不複雜,但使用nsthread需要自己管理執行緒的生命週期,這篇文章主要講nsthread的使用 了解程序與執行緒 1.執行緒是cpu執行任務的基本單位,乙個程序能有多個執行緒,但同時只能執行乙個任務 2.程序就是執行中的軟體,是動態...

python中多執行緒 Python之多執行緒

python之多執行緒 一 概念 1 多工可以由多程序完成,也可以由乙個程序內的多執行緒完成。程序是由若干的執行緒組成,乙個程序至少有乙個程序。執行緒是作業系統直接支援的執行單元,天賜高階預壓通常都是內建多執行緒的支援,python的執行緒是真正的posix thread而不是模擬出來的執行緒。2 ...

iOS中的多執行緒

nsobject 的 performselectorinbackground withobject 引數1 方法名稱,引數2 方法引數 void performselectoronmainthread sel aselector withobject id arg waituntildone boo...