LoginSignup
22
22

More than 5 years have passed since last update.

概要

前回の続きで、2からになります。
http://qiita.com/koji-nishida/items/14fda04b586263a47e73

  1. DispatchQueueの使い方
  2. DispatchSemaphoreの使い方
  3. よくありそうな使い方サンプル
    1. 非同期でAPIリクエスト
    2. 同期でAPIリクエスト

DispatchSemaphoreの使い方

Semaphoreとは

こんな使い方ができる

例えば、前記事の並列処理(上)を、無理矢理直列処理(下)にさせるというサンプルです。

スクリーンショット 2016-12-04 22.51.38.png
スクリーンショット 2016-12-04 22.54.44.png

下は同時に3つ以上は実行できないようにするというサンプルです。
スクリーンショット 2016-12-04 22.59.11.png

実際の使い所

もうちょっと具体的な使い方を。
例えば、非同期でAPIでリストデータを取得して、
データが取得でき次第、テーブルに描画(reload)するようなよくあるやつ。
だいぶ端折ってますが、だいたいこんな感じです。
複数のリクエストを並列で投げれないから、リクエスト返ってこなかったらどうするんだとかいう話は、
見逃して下さいw
スクリーンショット 2016-12-04 23.21.42.png
スクリーンショット 2016-12-04 23.21.20.png

22
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
22