WinFormsには、Control.BeginInvoke()
があります。つまり、バックグラウンドスレッドからの呼び出しを、コントロールのハンドルを作成したメインUIスレッドにマーシャリングすることができます。手動でスレッドにマーシャリングする
これは問題ありませんが、これは2つの「標準」スレッドの間でどのように(C#で)行いますか?
メッセージを消費するプロセッサスレッドを持つサービスバスを作成しました。タイマーのスレッドで実行されているコードではなく、プロセッサスレッドが何かを実行させるタイマーが必要です。
もちろん、私はスレッドの同期化(Monitor
/using() {...}
)を使うことができますが、どのように正常に行われたのか疑問に思っています。
私が探していた答えはSynchronizationContextでした - ありがとう! –