タグ

gcdに関するYudoufuのブックマーク (2)

  • dispatch_asyncでバックグラウンドタスク | Professional Programmer

    GCD(Grand Central Dispatch)を使って, バックグラウンド処理を行います。 iOSでは, NSOperationを使った方法でも可能です。方法と挙動は似たようなものです。 dispatch_asyncを使うメリットとしては, 処理の記述にブロックが渡せるので, クラス同士の データの受け渡しが簡単(closureのように使える訳ですはい)です サンプル dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // Background operations dispatch_async(dispatch_get_main_queue(), ^{ // Main Thread }); }); これだけです, dispatch_asyncを呼び出すだけです。Queu

  • GCD (Grand Central Dispatch) - Dispatch Queue でマルチスレッドプログラミング

    エキスパートObjective-Cプログラミングを読んで覚えたことのまとめ。 システムが管理するマルチスレッドの仕組み。 従来の Objective-C によるマルチスレッドよりも簡潔に記述でき、効率的な処理が可能となる。 Dispatch Queue の種類登録した処理が同期的に実行される Serial Dispatch Queue と 登録した処理が並列実行される Concurrent Dispatch Queue の2種類がある。 Serial DIspatch Queue はスレッド1つを生成して実行される。 Concurrent Dispatch Queue はシステムが管理しているスレッドで実行される。 Dispatch Queue は dispatch_queue_t 型であり, dispatch_queue_create 関数を使用して生成し、 dispatch_relea

  • 1