標籤:ios 線程 gcd nsoperation nsthread
一、IOS 實現線程操作方式分別有:NSThread,Cocoa NSOperation,GCD(Grand Central Dispatch)三種;
NSThread其優點:相比其他兩個輕量級;缺點:需要自己管理線程的生命週期,線程同步;
Cocoa Operation的優點:不需要關心線程管理,資料同步的事情,可以把精力放在自己需要執行的操作上;實現相關類NSOperation,NSOperationQueue。NSOperation是個抽象類別,使用它必須用它的子類,可以實現它或者使用它定義好的兩個子類:NSInvocationOperation 和 NSBlockOperation。建立NSOperation子類的對象,把對象添加到NSOperationQueue隊列裡執行。
Grand Central Dispatch (GCD)是Apple開發的一個多核編程的解決方案。在iOS4.0開始之後才能使用。GCD是一個替代諸如NSThread, NSOperationQueue, NSInvocationOperation等技術的很高效和強大的技術
二、線程實現方法介紹:
NSThread有兩種直接建立方式:
- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument
+ (void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument
此外可以用NSObject的類方法 performSelectorInBackground:withObject: 建立一個線程:
線程鎖對象:迴圈鎖NSRecursiveLock,條件鎖NSConditionLock,分布式鎖NSDistributedLock
Cocoa Operation
本文出自 “深圳市聯城通科技公司” 部落格,轉載請與作者聯絡!
IOS 三種線程操作方式詳解