Thanks, Fabio. I understand the need for locks, I am just wondering why there are two locks, the local lock and the cache lock, in the case of multiple clients and a distributed cache.
Certain cache providers, like memcached, do not provide locks, so you would need some other locking mechanism. For a farm of servers running the current version of NH, using memcached, with each server using a local lock, there wouldn't really be any locking across servers. Only locking for multiple threads on each server. --Jorge On Thu, Nov 11, 2010 at 6:06 AM, Fabio Maulo <[email protected]> wrote: > In web even a single app have to deal with multi threads > > -- > Fabio Maulo > > > El 11/11/2010, a las 02:41, Jorge <[email protected]> escribió: > >> Hello! >> I was poring over the NH cache code, and was wondering about the >> >> lock (_lockObject) >> { >> ... >> } >> >> construct that is used in ReadWriteCache.cs when getting and putting >> values to the cache. >> >> _lockObject is a local object, so it doesn't seem to make sense to >> lock >> on this for a cache shared among multiple NH clients. >> >> Shouldn't it suffice to lock on the cache's distributed lock? >> >> Another question: >> >> put locks both _lockObject and the cache lock, but get only locks >> _lockObject, >> and does not lock the cache lock. It is commented out. Why is this? >> >> Any insight into this would be very helpful. >> >> Thanks! >> >> >> >> >> >
