[jira] [Updated] (JCS-119) replace synchronized blocks by java locks or concurrenhashmap
[ https://issues.apache.org/jira/browse/JCS-119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Vandahl updated JCS-119: --- Fix Version/s: (was: jcs-2.2) jcs-2.3 > replace synchronized blocks by java locks or concurrenhashmap > - > > Key: JCS-119 > URL: https://issues.apache.org/jira/browse/JCS-119 > Project: Commons JCS > Issue Type: Improvement >Reporter: Romain Manni-Bucau >Assignee: Thomas Vandahl > Fix For: jcs-2.3 > > > A cache is typically used in a concurrent environment. Since Java 6 using a > ReentrantLock is faster than synchronized so can be interesting to replace > synchronized blocks by a lock. > Places i'm thinking about: > * CompositeCache > * AbstractDoubleLinkedListMemoryCache > * LHMLRUMemoryCache > * DoubleLinkedList > * LRUMap > * SingleLinkedList > * SortedPreferentialArray > Some places where replacing a HashMap by a ConcurrentHashMap can allow to get > rid of synchronized without needing a lock: > * CacheEventQueue > * AbstractDiskCache > * CacheWatchRepairable > There are other places but this is the main I saw. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (JCS-119) replace synchronized blocks by java locks or concurrenhashmap
[ https://issues.apache.org/jira/browse/JCS-119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Vandahl updated JCS-119: --- Fix Version/s: (was: jcs-2.0-beta-2) jcs-2.1 > replace synchronized blocks by java locks or concurrenhashmap > - > > Key: JCS-119 > URL: https://issues.apache.org/jira/browse/JCS-119 > Project: Commons JCS > Issue Type: Improvement >Reporter: Romain Manni-Bucau > Fix For: jcs-2.1 > > > A cache is typically used in a concurrent environment. Since Java 6 using a > ReentrantLock is faster than synchronized so can be interesting to replace > synchronized blocks by a lock. > Places i'm thinking about: > * CompositeCache > * AbstractDoubleLinkedListMemoryCache > * LHMLRUMemoryCache > * DoubleLinkedList > * LRUMap > * SingleLinkedList > * SortedPreferentialArray > Some places where replacing a HashMap by a ConcurrentHashMap can allow to get > rid of synchronized without needing a lock: > * CacheEventQueue > * AbstractDiskCache > * CacheWatchRepairable > There are other places but this is the main I saw. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (JCS-119) replace synchronized blocks by java locks or concurrenhashmap
[ https://issues.apache.org/jira/browse/JCS-119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Vandahl updated JCS-119: --- Fix Version/s: (was: jcs-2.0-alpha-1) jcs-2.0-alpha-2 replace synchronized blocks by java locks or concurrenhashmap - Key: JCS-119 URL: https://issues.apache.org/jira/browse/JCS-119 Project: Commons JCS Issue Type: Improvement Reporter: Romain Manni-Bucau Fix For: jcs-2.0-alpha-2 A cache is typically used in a concurrent environment. Since Java 6 using a ReentrantLock is faster than synchronized so can be interesting to replace synchronized blocks by a lock. Places i'm thinking about: * CompositeCache * AbstractDoubleLinkedListMemoryCache * LHMLRUMemoryCache * DoubleLinkedList * LRUMap * SingleLinkedList * SortedPreferentialArray Some places where replacing a HashMap by a ConcurrentHashMap can allow to get rid of synchronized without needing a lock: * CacheEventQueue * AbstractDiskCache * CacheWatchRepairable There are other places but this is the main I saw. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (JCS-119) replace synchronized blocks by java locks or concurrenhashmap
[ https://issues.apache.org/jira/browse/JCS-119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Vandahl updated JCS-119: --- Fix Version/s: jcs-2.0.0 replace synchronized blocks by java locks or concurrenhashmap - Key: JCS-119 URL: https://issues.apache.org/jira/browse/JCS-119 Project: Commons JCS Issue Type: Improvement Reporter: Romain Manni-Bucau Fix For: jcs-2.0.0 A cache is typically used in a concurrent environment. Since Java 6 using a ReentrantLock is faster than synchronized so can be interesting to replace synchronized blocks by a lock. Places i'm thinking about: * CompositeCache * AbstractDoubleLinkedListMemoryCache * LHMLRUMemoryCache * DoubleLinkedList * LRUMap * SingleLinkedList * SortedPreferentialArray Some places where replacing a HashMap by a ConcurrentHashMap can allow to get rid of synchronized without needing a lock: * CacheEventQueue * AbstractDiskCache * CacheWatchRepairable There are other places but this is the main I saw. -- This message was sent by Atlassian JIRA (v6.2#6252)