0

WinAPIのバックグラウンドを持つObjectiveCの達人への質問:

ObjectiveCでCOMのようなアパートのスレッドモデルはサポートされていますか?

  • クラスAはシングルスレッドです。クラスAのすべてのオブジェクトは1つの特定のスレッドで作成され、すべてのメッセージハンドラーはそのスレッドで呼び出されます。
  • クラスBはマルチスレッドです。クラスBのオブジェクトは任意の呼び出し元スレッドで作成でき、すべてのメッセージハンドラーは、オブジェクトの作成に使用された元のスレッドでのみ呼び出されます。
  • クラスCはフリースレッドです:クラスCのオブジェクトは任意の呼び出し元スレッドで作成でき、メッセージハンドラーは任意のスレッドで呼び出すことができます

私の考えは次のとおりです。ObjectiveCはメッセージに関するものなので、マルチスレッドのようなCOM+は簡単に実現できます。か否か?

ありがとうございました

4

1 に答える 1

1

質問で定義されているように、シングルスレッドまたはマルチスレッドのオブジェクトに対する組み込みのサポートはありません。

Mac OS XまたはiOSアプリでは、GCDキューを使用してこれらのポリシーを自分で適用することをお勧めします。GCDの適用に関する優れたアドバイスについては、「Blocks and GrandCentralDispatchinPractice」および「MasteringGrandCentralDispatch」という名前のWWDC2011ビデオをお勧めします。

于 2012-07-11T18:56:04.130 に答える