どのワーカースレッドから別のワーカースレッドにシグナルを送信できますか?最初のスレッドは、シグナルを受け取った後、2番目のスレッドからのシグナルを待つことになります。最初のスレッドは自分のジョブを実行します。どのように実装できますか?MFC内の2つの子スレッド間で信号を送信
0
A
答えて
0
「信号を送信する」とは、(Windows)メッセージを送信するという意味ではないと思います。本当に単純なものの実装が複雑すぎます。あなたの(2番目の)ワーカースレッドはメッセージループを作成し、(カスタム)メッセージをチェックする必要がありますか?非常に残酷。ワーカースレッドはもちろんメッセージループを作成できますが、これはまれです。
これは適切なオブジェクトタイプで、「イベント」(シグナル状態または非シグナル状態のいずれかになることができる単純なオブジェクト)です。 2番目のスレッドはこれを待つ必要があり、1番目のスレッドは2番目にジョブを実行するよう通知するためにシグナル状態に設定する必要があります(これは「シグナル送信」に相当します)。
+0
* "ワーカースレッドはもちろんメッセージループを作成できますが、これはまれです" * - いいえ、実際はありません。 ** **は非常に一般的です。 STAのみと互換性のあるCOMオブジェクトをホストするすべてのワーカースレッドは、メッセージループを実行します。実際には、STAに初期化されている任意の(ワーカー)スレッドはメッセージループを持つ必要があります。メッセージの受け渡しによる同期は非常に一般的です。 – IInspectable
関連する問題
- 1. 2つの子プロセス間で信号を送信
- 2. MFCはオブジェクト間で信号を送信します
- 3. 通信間2つのスレッド
- 4. 1つのスレッドと2つのアクティビティ(アンドロイド)間でデータを送信
- 5. スレッド2受信信号SIGBUS
- 6. 2つのスレッド間の通信
- 7. 2つのアプリケーション間でメッセージを送信
- 8. 2つの無線、シリアル通信の間で送信された信号の読み取り
- 9. 電子メール内の2つのブラウザウィンドウ間の通信
- 10. Cの3つのプロセス間で同期信号を送信するには
- 11. サービス内のスレッドからトーストを送信
- 12. 角2親子関係のないコンポーネント間でオブジェクトを送信
- 13. 2つの送信ボタンで2つの異なるフォームアクションを送信
- 14. 親プロセスからCの子に信号を送信
- 15. 子から親への信号の送信
- 16. スレッド1の受信信号SIGABARTエラー
- 17. Cとpthread_joinストールプログラムの信号受信スレッド
- 18. Qtの別のスレッドでスロットに信号を送る方法
- 19. 2つのC#プログラムの間で大量のデータを送信
- 20. vb.netの2つのprivare subsの間で変数を送信
- 21. pyqt4がメインスレッドのスロットにスレッドで信号を送信しています
- 22. 間のスレッド通信
- 23. スレッド間の通信?
- 24. ベクターCANoeでの連続信号送信
- 25. 2つのタブの間でデータを送信する - android
- 26. 2つのアプリケーション間でデータの送受信を行います
- 27. 2つの別々のアプリケーション間で認証を送信
- 28. 電子メールを送信するemailnot送信emailnot送信emailnot送信emailnot送信emailnot送信しない電子メール を送信しない電子メール
- 29. 連続して2つのプロセスに信号を送る方法
- 30. 2つのフラグメント間でデータを送信します。
'PostThreadMessage()'は片道です。 –
'WaitForSingleObject'、' SetEvent' –
@JoeWillcoxson:なぜPostThreadMessageによってポストされたメッセージが消えるのですか?](https://blogs.msdn.microsoft.com/oldnewthing/20090930-00/?p=16553)さらに、チャンスは反対方向にも同期したいと思うので、 'SendThreadMessage'と同等のものを探しています([存在しない](https://blogs.msdn.microsoft.com/oldnewthing/20081223- 00/p = 19743))。 – IInspectable