Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
MS ATL ライブラリを使用して記述された ActiveX コントロールがあり、pDispatch->Invoke(..., DISPATCH_METHOD). コントロールは .NET クライアントによって使用されます。私の質問はこれです。イベントの発生は同期呼び出しですか、それとも非同期呼び出しですか? 私の懸念は、同期の場合、イベントを処理するアプリケーションがすぐに返されない限り、パフォーマンスの問題を引き起こす可能性があることです。
pDispatch->Invoke(..., DISPATCH_METHOD)
イベントを生成するコンポーネントの観点からは同期的です。コントロールの実行スレッドは受信者のコードを呼び出し、その時点で物事は制御不能になります。
イベントを受け取るクライアントは、すぐに戻るようにする必要があります。かなりの量の作業を行う必要がある場合は、これを非同期にスケジュールする必要があります。たとえば、Windows メッセージを投稿したり、別のスレッドを使用したりします。