シナリオ: サーバーが 6 つのアクティブな TCP/IP 接続をリッスンしています。「準備完了」メッセージが届くと、独自のスレッドでイベントが発生します。サーバーは、各接続から「準備完了」メッセージを受信したら、「開始」機能を実行する必要があります。
私のオブジェクト指向ソリューションには、ミューテックスとカウンターの使用が含まれる可能性があります。何かのようなもの:
int _countDown= 6;
object _lock;
void ReadyMessageReceivedForTheFirstTimeFromAConnection() {
lock(_lock) {
--_countDown; //
if (_countDown==0) Start();
}
}
ロック/ミューテックスに頼らずに、Clojure でこの問題を解決するにはどうすればよいでしょうか?