I think ConcurrentSkipLisMap [1] would be also a nice option to inspect (should be more performant [2]). I think I can make some tests next week. Tommaso
[1] : http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ConcurrentSkipListMap.html [2] : http://stackoverflow.com/questions/1811782/when-should-i-use-concurrentskiplistmap 2012/2/26 Michael André Pearce <[email protected]> > Haha i knew i remember seeing something, we can take insperation for key > locking from how concurrenthashmap achieves it. > > > http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/ConcurrentHashMap.java > > > > On 26 Feb 2012, at 01:14, Michael André Pearce wrote: > > > Doug Lee and using hashes, though i still cant remember for the life of > me where ive seen this atm. (it cant be too distant past if i remember the > guys name) > > > > > > On 26 Feb 2012, at 01:06, Simone Tripodi wrote: > > > >> +1 concurrency is still an open issue in DM > >> > >> best, > >> -Simo > >> > >> http://people.apache.org/~simonetripodi/ > >> http://simonetripodi.livejournal.com/ > >> http://twitter.com/simonetripodi > >> http://www.99soft.org/ > >> > >> > >> > >> On Sun, Feb 26, 2012 at 1:33 AM, Michael André Pearce > >> <[email protected]> wrote: > >>> Also can i suggest locking on the key for put/updates/deletes? avoids > someone getting a key whilst it is in transitive state of being updated by > another, ive seen before a fancy way of doing this, avoiding a lock for > every key, will have to try remember. > >>> > >>> On 26 Feb 2012, at 00:24, Simone Tripodi wrote: > >>> > >>>> Hi all guys, > >>>> > >>>> I had a chat with Benoit in another thread and I realized no one of > >>>> our class is Thread safe - what do you think of actual behavior that > >>>> every component accepts a setter for any member - that could cause > >>>> strange behaviors at runtime? > >>>> > >>>> I would analyze wich components can be converted to immutable - IIUC > >>>> Benoit agreed with me on having some PointerImpl members as immutable, > >>>> i.e. CacheService#setMap( ConcurrentMap<K, Pointer<V>> map ) means > >>>> dropping all the already stored data :) > >>>> > >>>> Thoughts? > >>>> best, > >>>> -Simo > >>>> > >>>> http://people.apache.org/~simonetripodi/ > >>>> http://simonetripodi.livejournal.com/ > >>>> http://twitter.com/simonetripodi > >>>> http://www.99soft.org/ > >>> > > > >
