私は、C++の分散システムでmutexのように動作する単純なロック/アンロックアルゴリズムを記述しようとしています。分散ミューテックスライブラリを作成するにはスレッドを作成する必要がありますか?
これはライブラリとして実装され、ユーザーはインターフェイスファイルを使用してそのライブラリを使用できます。
3つのプロセス{A、B、C}があるとします。
各プロセッサは、他のプロセスのアドレスとポートなどを知っています。
A
がオブジェクトをロックしたい場合、他のプロセスから許可を得ています。この場合はB
とC
です。
私はBからの返信を送信して待っていると信じています。ユーザーは間違いなく関数を呼び出すため、Cは問題にはなりません。
しかし、B
とC
はどのようにメッセージを受け取るべきですか?
すべてのプロセスが動作することが保証されています。
各プロセッサがソケットをリッスン(ポーリング)している別のスレッドが必要ですか?
コンストラクタでスレッドを作成し、プロセスが実行されている間にそのスレッドを使用して、デストラクタで破棄しても問題ありませんか?