1、NSThread
優點:NSThread比其他兩個輕量級,使用簡單。
缺點:需要自己管理線程的生命周期、線程同步、加鎖、睡眠以及喚醒等。線程同步對數據的加鎖會有一定的系統開銷。
2、NSOperation
優點:2.1 ?不需要關心線程管理、數據同步的事情,可以把精力放在自己需要執行的操作上;
2.2 ? NSOperation是面向對象的;
2.3 ?很容易設置兩個NSOperation對象之間的依賴來讓某一個操作在上一個操作完成之后再執行;
2.4 ?設置同一時間內的最大任務并發數;
2.5 ?可以創建操作,支持第一時間被取消;
2.6 NSOperation在iOS4之前是NSThread,iOS4之前只有GCD是底層。
3、GCD
3.1 Grand Central Dispatch ,是由蘋果開發的一個多核編程的解決方案。iOS4之后才能使用,是替代NSThread、NSOperation的高效和強大的技術。
3.2 GCD是基于c語言的;
3.3 NSOperation對象在創建或釋放過程中會消耗明顯的CUP資源;
3.4 使用Block后代碼比使用NSOperation,NSThread更簡潔;
3.5 dispatch_group , barrier等技術;
3.6 執行的任務沒有辦法直接取消。