首先,先介紹幾個概念:GCD,隊列,串行,并行,同步,異步。
GCD(Grand Central Dispatch):
偉大的蘋果公司開發的一種多核多線程的解決方案。
GCD的基本思想就是就將操作s放在隊列s中去執行
隊列(FIFO):
隊列是一種先進先出的組織方式,我看到最搞笑也很形象的解釋是:(隊列和棧的區別:吃多了拉是隊列,吃多了吐是棧)。
串行和并行的概念若還是不清楚的,我再舉個例子:有10個人在超市買完東西同時到一個收銀點排隊依次結帳走人,前一個結帳操作不完成,后一個就得等著。這就是典型的串行。10個人去不同的10個收銀點同時結帳,誰先結完帳誰就先走。這就是并行。還是不明白的話請看下面例子。
同步和異步(更具體的請看百科)
請看下面四幅圖片:
請注意:在并行隊列中,異步任務的位置是沒有意義的,即不管不放在什么位置,都會并發的去執行!
測試源碼鏈接:http://pan.baidu.com/s/1bnCd8HT
以上純屬個人理解,水平有限,若有錯誤歡迎來噴!
新聞熱點
疑難解答