別のアプリがそれを通知したときに呼び出される「コールバック」関数をアプリが登録できる、ユーザーモードの同期メカニズムに精通している人がいるのだろうか...コールバックが任意の スレッドにあることを気にしない.
並行して多くの「ワーカー」プロセスがあり、すべてのプロセスが内部更新を行う必要がある変更を通知したいとします (ペイロード データは必要ありません)。
これに対する当面のアプローチは、それぞれに別のスレッドを作成し、グローバル イベントを待機してその直後にコールバック関数を呼び出す無限ループを作成することでした。これを通知するには、1 つのプロセスがこのグローバル イベントを通知するだけで済みます。
問題は、このプロジェクトに多くの並列プロセスがあることです。これを実装するためだけにシステムに thread*nProcesses を追加したくありません。たとえそれらがほとんど一時停止していてもです。
これに対して私が見つけた現在の「回避策」は、自分の「ダミー」レジストリキーを保持することであり、すべてのプロセスは「登録通知コールバックを登録」します.1つのアプリが他のアプリに通知したい場合、このキーへの書き込みをトリガーするだけです. ..そしてウィンドウは、この通知に登録されたすべてのプロセスをコールバックします。
他のアイデアはありますか?