IOS 學習 多執行緒

2021-07-04 20:08:23 字數 929 閱讀 6474

1 不要同時開太多執行緒 1~3條

2執行緒概念

主線程 ui執行緒 不要把耗時操作放在主線程

子執行緒

一 nsthread

1 建立和啟動執行緒的三種方式

1)先建立 後啟動

// 建立

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

// 啟動

[thread start];

2) 建立完自動啟動

[nstgread detachnewthreadselector:@selector(download:) totarget:self withobject:nil];

3)隱式建立(自動啟動)

[self performselectorbackground:@selector(download:) withobject:nil];

2 建立方法

獲得當前執行緒

+(nsthread *)currentthread;

2) 獲得主線程

+(nsthread *)mainthread;

3) 睡眠(暫停) 執行緒

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

+(void)sleepfortimeinterval:(nstimeinterval)ti;

4) 設定執行緒的名字

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

-(nsstring *)namel

二 執行緒同步

1 實質 為了防止多個執行緒搶奪同乙個資源造成的資料安全問題

2 實現 給**加乙個互斥鎖

@synchronized(self)

iOS多執行緒學習 NSOperation

使用nsoperation和nsoperationqueue進行多執行緒開發類似於c 中的 執行緒池,只要將乙個nsoperation 實際開中需要使用其子類nsinvocationoperation nsblockoperation 放到nsoperationqueue這個佇列中線程就會依次啟動。...

iOS多執行緒

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

iOS多執行緒

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