質問

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

役に立ちましたか?

解決

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top