GCD執行任務的方法並不是只有簡單的同步調用方法和異步調用方法,還有其餘一些經常使用方法:app
dispatch_apply():重複執行某個任務,可是注意這個方法沒有辦法異步執行(爲了避免阻塞線程能夠使用dispatch_async()包裝一下再執行)。異步
dispatch_once():單次執行一個任務,此方法中的任務只會執行一次,重複調用也沒辦法重複執行(單例模式中經常使用此方法)。async
dispatch_time():延遲必定的時間後執行。spa
dispatch_barrier_async():使用此方法建立的任務首先會查看隊列中有沒有別的任務要執行,若是有,則會等待已有任務執行完畢再執 行;同時在此方法後添加的任務必須等待此方法中任務執行後才能執行。(利用這個方法能夠控制執行順序,例如前面先加載最後一張圖片的需求就能夠先使用這個 方法將最後一張圖片加載的操做添加到隊列,而後調用dispatch_async()添加其餘圖片加載任務)線程
dispatch_group_async():實現對任務分組管理,若是一組任務所有完成能夠經過dispatch_group_notify()方法得到完成通知(須要定義dispatch_group_t做爲分組標識)。隊列