Grand Central Dispatch (GCD) は Mac OS X 10.6+ や iOS 4+ で利用出来る技術で, タスクを簡単に非同期で実行させることが出来る技術の一つです. この記事では GCD の機能の一つであるディスパッチセマフォを活用する方法を紹介します. 例として有限リソースへのアクセス制限と, タスクの実行待ちを取り上げます. この説明では Swift 3 を利用しています. Swift 3 から API の命名規則が大きく変わっていますが, 同じ機能は Swift 3 未満や Objective-C でも利用できます. Objective-C や Swift 1/2 での記法はこの記事の末尾を参照してください. ディスパッチセマフォとは 基本的にカウンティングセマフォと同じですが, より効率的に動作するように実装されていると公式ドキュメントに記述されています