[ https://issues.apache.org/jira/browse/ZOOKEEPER-2842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16116209#comment-16116209 ]
ASF GitHub Bot commented on ZOOKEEPER-2842: ------------------------------------------- Github user maoling commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/308#discussion_r131591962 --- 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 -- Yes.we should keep a blance between optimization and readability.the most importance thing for this optimization is whether this function has faced a performace problem and this optimization is overdesign. Haha.self-criticism.However ,I find the shadow of this programming paradigm in zk code base [Line501~Line507](https://github.com/apache/zookeeper/blob/master/src/java/main/org/apache/zookeeper/ClientCnxn.java ) > 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)