iOS中的异步和多线程概况
生活随笔
收集整理的這篇文章主要介紹了
iOS中的异步和多线程概况
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、異步(1)當一個異步過程調用發出后,調用者不能立刻得到結果。實際處理這個調用的部件在完成后,通過狀態、通知和回調來通知調用者。比如iOS類庫中的NSURLConnectioin中使用代理的方式就是異步。(2)iOS類庫中的異步調用提供自動的多線程并發,它們使用系統守護進程或者創建自定義的線程來執行任務并且返回結果給調用者(來自蘋果文檔)。(3)系統自動根據當前運行環境來安排和執行異步請求,對于并發的數量有限制。拿NSURLConnectioin異步請求來說,假如在很短很短的時間內,連續發出了100個異步網絡請求,這100個異步請求不會都發出,我測試的結果顯示,同時最多可以有5個請求并發執行,其余的請求會排隊。所以不用害怕如果用異步請求的方式同時發出很多請求會使應用變慢。(4)一般在進行IO操作時使用異步操作。
二、多線程1.多線程可以增加程序運行效率,可以在主線程之外創建另外的線程來執行其它的動作,而不阻塞主線程。多線程應該合理的使用,不能濫用,使用過多會使系統和程序的運行效率降低,代碼的復雜度也會增加。2.當進行執行時間很長的計算、圖形處理、圖形渲染等費時操作時,使用多線程。2.iOS類庫中的線程類:NSThread。3.iOS中線程的替代方案:NSOperationQueue,GCD,NSNotificationQueue(異步通知),異步方法,NSTimer。詳細內容另外章節介紹。
二、多線程1.多線程可以增加程序運行效率,可以在主線程之外創建另外的線程來執行其它的動作,而不阻塞主線程。多線程應該合理的使用,不能濫用,使用過多會使系統和程序的運行效率降低,代碼的復雜度也會增加。2.當進行執行時間很長的計算、圖形處理、圖形渲染等費時操作時,使用多線程。2.iOS類庫中的線程類:NSThread。3.iOS中線程的替代方案:NSOperationQueue,GCD,NSNotificationQueue(異步通知),異步方法,NSTimer。詳細內容另外章節介紹。
總結
以上是生活随笔為你收集整理的iOS中的异步和多线程概况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CoreData简介
- 下一篇: Git仓库迁移,包括所有的分支、标签、日