iOS學習 --多線程和GCD的理解

來源:互聯網
上載者:User

標籤:

進程的概念:每一個進程都是一個應用程式,都有獨立的記憶體空間,一般情況下,一個應用存在一個進程,但也有多個進程的情況(比如瀏覽器)

同一個進程中的線程共用記憶體中的記憶體和資源。

多線程的概念:每一個程式都有一個主線程,調用main函數啟動

主線程的生命週期和應用程式是綁定的,程式退出時,主線程也就停止了

多線程技術表示,使用多線程可以提高CPU的使用率,防止主線稱堵塞。

任何有可能堵塞主線稱的任務不要放在主線稱執行(訪問網路)

注意:線程的使用不是無節制的,只有主線稱有直接修改UI的能力


iOS三種多線程技術的優缺點:

1.NSThread:

 優點:NSThread比其他兩個輕量級,使用簡單

缺點:需要自己管理線程的生命週期、線程同步、加鎖、睡眠及喚醒等。線程同步對資料的加鎖有一定的系統開銷


2.NSOperation:

不需要關心線程管理,資料同步的事情,可以把精力放在自己需要執行的操作上

NSOperation是物件導向的


3.GCD

Grand Central Dispatch 是由蘋果開發的一個多核編程的解決方案。iOS4.0+才能使用,是替代NSThread、NSOperation的高效和強大的技術

GCD是基於c語言的











iOS學習 --多線程和GCD的理解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.