タグ

ブックマーク / shin.hateblo.jp (2)

  • Cocoaのマルチスレッドシステム - $ cat /var/log/shin

    Cocoaのマルチスレッド機構について解剖してみました。 実験環境 MacBook Pro Retina, 13-inch, Late 2013 OS X 10.9.2 (Mavericks) NSThread?時代はGCDでしょ! Cocoaには、GCD(Grand Central Dispatch)という新しい並列処理APIが入り、今はこちらを積極的に使うことが推奨されています。とはいえ、CocoaのベースとなっているのはCocoaスレッド(NSThread)なので、NSThreadとNSRunLoopに関する理解は、Cocoaのプログラミングをする上で必須だと思います。 ということで、この記事ではNSThreadを中心に掘り下げていきます。 NSThreadの基 NSThreadの使い方を簡単に説明すると、適当なクラスに別スレッドで処理するメソッドを用意して、それを適切にinitW

    Cocoaのマルチスレッドシステム - $ cat /var/log/shin
  • もう怖くないCocoaの並列処理(GCD & NSOperation/NSOperationQueue) - $ cat /var/log/shin

    Cocoaの並列処理(GCDとNSOperation/NSOperationQueue)に関するまとめです。この記事ではいわゆる「スレッド」については扱いません。スレッドについては、前に記事を書いたのでそちらを参照してください。 Cocoaのマルチスレッドシステム - $ cat /var/log/shin スレッドによる並列処理からの脱却 スレッドは、歴史のある並列処理のための概念ですが、OSのカーネルの方にも密接に関わりがあるなど、抽象度は低めと言えます。 そこで、Cocoaでは、並列処理のための抽象度の高いインターフェースが提供されるようになりました。それがGCDとNSOperation/NSOperationQueueです。これらを使えば、スレッドを何個作成してタスクをどのように実行するか等の細かいことは、ランタイム側が全て決定してくれるので、ユーザは、並列処理したいタスクを定義し

    もう怖くないCocoaの並列処理(GCD & NSOperation/NSOperationQueue) - $ cat /var/log/shin
  • 1