01-基本概念

葉喬木發表於2018-12-14

GCD

1 基本概念

  • 概念: 是 Apple 開發的一個多核程式設計的較新的解決方法。它主要用於優化應用程式以支援多核處理器以及其他對稱多處理系統。它是一個線上程池模式的基礎上執行的併發任務

  • 優點

    1. 多核並行運算
    2. 不需要手動管理執行緒生命週期
    3. 自動利用CPU的核心
  • 兩個基本點: 任務和佇列

    1. 任務:執行操作的意思,在block程式碼塊中執行的程式碼

      • 同步執行 sync :在當前執行緒中執行任務,不具備開啟新的現成本的能力,在當前佇列中順序執行
      • 非同步執行 async:將任務新增到指定的佇列中執行任務,具備開啟新的執行緒的能力。
    2. 佇列:這裡的佇列指執行任務的等待佇列,即用來存放任務的佇列。佇列是一種特殊的線性表,採用 FIFO(先進先出)的原則,即新任務總是被插入到佇列的末尾,而讀取任務的時候總是從佇列的頭部開始讀取。每讀取一個任務,則從佇列中釋放一個任務。

      • 序列佇列:序列執行,任務一個個執行
      • 並行佇列:併發執行,多個任務同時執行