フリー スレッドとして作成されたアウト プロセス COM (ATL) サーバーがあります ( CComMultiThreadModel
)
それがオブジェクトへの呼び出しの再入可能性にどのように関連するかについて少し混乱しています。たとえば、複数のクライアントから同時に呼び出すことが許可され、それらの要求を同時に処理できると想定していましたが、(私のログによると)各リクエストがシリアル化されていること。
私が見逃しているのは、MTAとしてクラスを作成するだけで、それが本当にそうであるか、他にやらなければならないことがあります。ここでは、単一プロセス内のスレッドではなく、すべてが同時呼び出しを行う複数のプロセスについて言及しているためCOINIT_MULTITHREADED
、問題ではないことに注意してください。
MTA に関する一部の MS ドキュメントからのこのスニペットは、すべてがそのまま使用できるように思われます。
複数のクライアントが、異なるスレッドから、フリースレッドをサポートするオブジェクトを同時に呼び出すことができます。フリー スレッドのアウトプロセス サーバーでは、COM が RPC サブシステムを介してサーバー プロセス内にスレッドのプールを作成し、クライアント呼び出し (または複数のクライアント呼び出し) をこれらのスレッドのいずれかによっていつでも配信できます。