iOS 多執行緒的使用(Operation)

2021-07-05 13:35:11 字數 1106 閱讀 7046

#import "viewcontroller.h"

@inte***ce viewcontroller ()

@end

@implementation viewcontroller

- (void)viewdidload ];

新增操作

nsblockoperation 的運算元大於1 的時候

會開闢執行緒去執行

[blockoperation addexecutionblock:^];

[blockoperation start];

operation 預設在當期執行緒去執行

(同步執行)

可以使用執行緒佇列nsoperationqueue去管理執行緒(缺省會開闢執行緒去執行)  非同步執行不用手動去啟動執行緒

nsoperationqueue *queue = [[nsoperationqueue alloc]init];

可以執行緒佇列的最大併發數(最多允許多少操作同時執行)

queue.maxconcurrentoperationcount = 3;

設定operation的依賴關係

[invocation1 adddependency:invocation0];

[invocation2 adddependency:invocation1];

[invocation3 adddependency:invocation2];

[invocation4 adddependency:invocation3];

[blockoperation adddependency:invocation4];

[queue addoperation:invocation0];

[queue addoperation:invocation1];

[queue addoperation:invocation2];

[queue addoperation:invocation3];

[queue addoperation:invocation4];

[queue addoperation:blockoperation]; }

- (void)act:(id)sender

@end

iOS多執行緒

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

iOS多執行緒

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

iOS多執行緒

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