如何同步EhCache中多个线程的动作?

问题描述:

如何同步多个线程的动作并确保在EhCache的给定时间点只有一个线程可以访问资源。如何同步EhCache中多个线程的动作?

我不知道我理解你的问题,但让我们来猜测。 EhCache(3,我不知道大约2)是完全线程安全的。

但是,如果您确实意味着当时只有一个线程可以使用一个条目,那么这不是EhCache会执行的操作,因为这是特定的需求。您需要将自己的同步放在上面。使用锁或信号量。例如,您可以锁定检索的值。

+0

我的问题是,当我们在程序中启动两个或更多的线程,可能有一种情况,当多个线程试图访问存储在了Ehcache相同的资源,最终他们能产生因并发不可预见的结果的问题。所以,为了避免这种情况,我必须编写自己的同步代码。 – Sibani

+0

他们可以检索没有任何问题的条目。但是,当然,如果他们开始修改条目,则确实需要同步。 Ehcache无法为你做任何事。 – Henri

+0

我加了我自己的同步代码..但我遇到了以下问题 - https://stackoverflow.com/questions/45834377/can-same-ehcache-object-of-same-cache-manager-be-used-by - 多线程 – Sibani

我相信这个问题已经接近您的另一个问题,而cache-through可以帮助您。

https://stackoverflow.com/a/45801562/18591