ユーザー構成に従ってオブジェクトをロード (および管理)する一種のマルチトンクラス (マネージャー デザイン パターンとも呼ばれる)を実装したいと考えています (マルチトン内の各オブジェクトのキーは、構成レコードの主キーです)。構成の変更が検出されると、これらのオブジェクトは破棄され、再作成 (つまり、再ロード) されます。
他のオブジェクト (管理対象オブジェクトの外部) は、これらの「管理対象」オブジェクトと対話/通信します。
たとえば
、ManagerA は ClassA の構成済みインスタンスのインスタンスを管理します。ObjectB は ManagerA を介して ClassA のインスタンスを取得し、インスタンスとの対話を開始します。
問題は、ObjectB と ClassA のマネージ インスタンス間の対話が、ManagerA が ClassA のインスタンスを破棄し、(新しく変更された構成用に) ClassA の新しいインスタンスを作成するスレッドとは別のスレッドにある可能性があることです。つまり、マネージド インスタンスは、マネージド オブジェクトとの対話と同じように (またはその直前に) 破棄できます。
私の質問は、インスタンス管理と外部オブジェクトによるこれらのマネージド インスタンスとの対話をどのように同期させるべきかということです。