0

MS ATL ライブラリを使用して記述された ActiveX コントロールがあり、pDispatch->Invoke(..., DISPATCH_METHOD). コントロールは .NET クライアントによって使用されます。私の質問はこれです。イベントの発生は同期呼び出しですか、それとも非同期呼び出しですか? 私の懸念は、同期の場合、イベントを処理するアプリケーションがすぐに返されない限り、パフォーマンスの問題を引き起こす可能性があることです。

4

1 に答える 1

4

イベントを生成するコンポーネントの観点からは同期的です。コントロールの実行スレッドは受信者のコードを呼び出し、その時点で物事は制御不能になります。

イベントを受け取るクライアントは、すぐに戻るようにする必要があります。かなりの量の作業を行う必要がある場合は、これを非同期にスケジュールする必要があります。たとえば、Windows メッセージを投稿したり、別のスレッドを使用したりします。

于 2008-09-17T19:11:06.593 に答える