[ https://issues.apache.org/jira/browse/ZOOKEEPER-2842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16113512#comment-16113512 ]
ASF GitHub Bot commented on ZOOKEEPER-2842: ------------------------------------------- Github user afine commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/308#discussion_r131261499 --- Diff: src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java --- @@ -880,19 +876,20 @@ public void run() { * * @return boolean Value of variable running */ - synchronized boolean finish() { - if(!running){ - /* - * Avoids running finish() twice. - */ - return running; - } - running = false; - - this.interrupt(); - threadCnt.decrementAndGet(); - return running; - } + boolean finish() { --- End diff -- I understand what you are trying to do here and why this is optimized. I'm just concerned that that any performance increase here would not be worth the decrease in readability. > optimize the finish() of Send/RecvWorker in QuorumCnxManager and remove > testInitiateConnection() and formates some codes > ------------------------------------------------------------------------------------------------------------------------ > > Key: ZOOKEEPER-2842 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2842 > Project: ZooKeeper > Issue Type: Improvement > Components: quorum > Reporter: maoling > Priority: Trivial > > 1.the finish() of Send/RecvWorker in QuorumCnxManager changes to > double-checked lock style > [https://en.wikipedia.org/wiki/Double-checked_locking] > ,a trivial code changes implement a smaller granularity lock to have a better > perfermance in too fierce multithread situation. > 2.testInitiateConnection() is redundant test function which is only used in > TestCase,so I refactor it. > 3.some codes don't abide to Java Programme Specification ,so I lift a finger > to format them -- This message was sent by Atlassian JIRA (v6.4.14#64029)