[ https://issues.apache.org/jira/browse/ZOOKEEPER-955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mahadev konar updated ZOOKEEPER-955: ------------------------------------ Fix Version/s: (was: 3.4.0) 3.5.0 not a blocker. Moving it out of 3.4 release. > Use Atomic(Integer|Long) for (Z)Xid > ----------------------------------- > > Key: ZOOKEEPER-955 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-955 > Project: ZooKeeper > Issue Type: Improvement > Components: java client, server > Reporter: Thomas Koch > Assignee: Thomas Koch > Priority: Trivial > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-955.patch > > > As I've read last weekend in the fantastic book "Clean Code", it'd be much > faster to use AtomicInteger or AtomicLong instead of synchronization blocks > around each access to an int or long. > The key difference is, that a synchronization block will in any case acquire > and release a lock. The atomic classes use "optimistic locking", a CPU > operation that only changes a value if it still has not changed since the > last read. > In most cases the value has not changed since the last visit so the operation > is just as fast as a normal operation. If it had changed, then we read again > and try to change again. > [1] Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira