22
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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とは
http://wa3.i-3-i.info/word13357.html

###こんな使い方ができる
例えば、前記事の並列処理(上)を、無理矢理直列処理(下)にさせるというサンプルです。
スクリーンショット 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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?