リアルタイム計算プログラムを書いています。このプログラムは、メモリに保持するために大量のデータを必要とします。すばやくアクセスできるようにデータをメモリに保持するサービス関数を作成したいと考えています。サービスに以下の機能を持たせたい。
クライアントがメモリにないデータを要求した場合、これらのデータをデータベースからメモリにロードし、クライアントに送信します。この間、クライアントは待機する必要があります。
2 つのクライアントが同じデータを要求した場合、データが 1 つのクライアントへの要求でサービスによってロードされている場合、サービスは再度ロードを試行しないことを認識している必要があります。この同時実行の問題を解決するにはどうすればよいですか?