2017-08-14 11 views

答えて

1

私はあなたの質問を理解しているとは思えませんが、推測してみましょう。 EhCache(3、私は2について知らない)は完全にスレッドセーフです。

しかし、ある時点で1つのスレッドで1つのエントリしか使用できないということは、EhCacheはこれが特別な必要性のために行うことではありません。あなたはそれの上に自分の同期を置く必要があります。ロックまたはセマフォを使用する。たとえば、取得した値をロックすることができます。

+0

私の問題は、我々はプログラム内の2つの以上のスレッドを起動したとき、そこに複数のスレッドがEhcacheの中に保存された同じリソースにアクセスしようとしたときの状況もあり、最終的に彼らが原因同時実行に予期せぬ結果を生み出すことができましたを参照してください。問題。だから、これを避けるために、自分の同期コードを書く必要があります。 – Sibani

+0

彼らは何の問題もなくエントリを取り出すことができます。もちろん、エントリの変更を開始する場合は、実際に同期が必要です。 Ehcacheはあなたのために何もできません。 – Henri

+0

自分の同期コードを追加しましたが、次の問題に直面しました。 https://stackoverflow.com/questions/45834377/can-same-ehcache-object-of-same-cache-manager-be-used-by -multiple-threads – Sibani

関連する問題