・dispatch queueは自分で作らなくてもmain dispatch queue とglobal dispatch queueが最初から用意されているのでそれを使う方が楽
・いくつかのタスクが終わったら終了処理をしたい、という場合はdispatch groupを使う。
・DBへの書き込み処理のように他の読み書きの処理と同時に実行させたくない、という場合はdispatch barrier async関数を使う。
・スレッドの停止、再開はdispatch_suspend, dispatch_resumeで行う
・dispatch_semaphoreでより詳細な実行制御が出来る
・dispatch_onceで一度しか処理が実行されないことを保証できる。主にシングルトンの初期化に使う。
・dispatch I/Oとdispatch dataを使うとIOの処理を簡単に並列化出来る。多少IOを高速化することができるかも。