iOS中的多執行緒

2021-06-28 02:13:45 字數 1347 閱讀 6619

nsobject 的 performselectorinbackground:withobject

引數1:方法名稱,引數2:方法引數

- (void)performselectoronmainthread:(sel)aselector withobject:(id)arg waituntildone:(bool)wait

可以理解為切回到主線程麼?

初始化方法

- (instancetype)initwithtarget:(id)target selector:(sel)selector object:(id)argument

利用 初始化方法得到的例項需要呼叫- (void)start該程序才會開始工作

如果用便利構造器構造的話就構造完成就可以直接工作

+ (void)detachnewthreadselector:(sel)aselector totarget:(id)atarget withobject:(id)anargument

同時為了保證多執行緒訪問乙個資料時,這個資料不會同時被操作,引入了nslock這個類

某些**開始運算元據時可用[lock lock]來鎖住**,不讓其他執行緒進行操作,當執行完成時進行[lock unlock]操作,這樣下乙個程序才會執行這段**

ios中有@ synchronized{}開簡化nslock,只需要把需要鎖的**放在這個括號中就會自動鎖住和解鎖

nsoperationqueue 通過- (void)addoperation:(nsoperation *)operation方法來向佇列中新增nsoperation

nsoperation是乙個抽象類,需要nsinvocationoperation(或者其他的實現抽象類的類)建立乙個nsoperation操作單元

nsblockoperation是系統提供的乙個通過block建立操作單元的方法

它的便利構造方法+ (instancetype)blockoperationwithblock:(void (^)(void))block可以直接通過block中寫要實現的**

[nsoperationqueue mainqueue]獲取到主線程佇列

[nsoperationqueue currentqueue]獲取當前執行緒佇列

中文翻譯:大**排程^_^

ios 開發中的多執行緒

dispatch async dispatch queue create com.enormego.egoimageloader null 二 nsoperation和nsopertionqueue 1,乙個繼承自nsoperation的操作類,該類的實現中必須有 void main 方法 2,最簡...

iOS多執行緒

iphone 中的執行緒應用並不是無節制的,官方給出的資料顯示iphone os下的主線程的堆疊大小是1m,第二個執行緒開始都是512kb。並且該值不能通過編譯器開關或執行緒api函式來更改。只有主線程有直接修改ui的能力。一 nsoperation和nsoperationqueue 1 乙個繼承自...

iOS多執行緒

iphone 中的執行緒應用並不是無節制的,官方給出的資料顯示iphone os下的主線程的堆疊大小是1m,第二個執行緒開始都是512kb。並且該值不能通過編譯器開關或執行緒api函式來更改。只有主線程有直接修改ui的能力。一 nsoperation和nsoperationqueue 1 乙個繼承自...