From 5419073cea366075bee4badc7b7c40781f954eb8 Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Thu, 13 Feb 2014 14:08:22 +0900 Subject: [PATCH] Minor cleanup and javadoc. --- .../hikari/util/SpecializedConcurrentBag.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zaxxer/hikari/util/SpecializedConcurrentBag.java b/src/main/java/com/zaxxer/hikari/util/SpecializedConcurrentBag.java index 9ad4511e..3ec6023a 100644 --- a/src/main/java/com/zaxxer/hikari/util/SpecializedConcurrentBag.java +++ b/src/main/java/com/zaxxer/hikari/util/SpecializedConcurrentBag.java @@ -41,21 +41,25 @@ import static com.zaxxer.hikari.util.IBagManagable.REMOVED; */ public class SpecializedConcurrentBag { + private ThreadLocal> threadList; private CopyOnWriteArraySet sharedList; private Synchronizer synchronizer; - private ThreadLocal> threadList = new ThreadLocal>() - { - protected LinkedList initialValue() - { - return new LinkedList<>(); - } - }; - + /** + * Constructor. + * + * @param initialCapacity initial bag capacity + */ public SpecializedConcurrentBag(int initialCapacity) { this.sharedList = new CopyOnWriteArraySet<>(); this.synchronizer = new Synchronizer(); + this.threadList = new ThreadLocal>() { + protected LinkedList initialValue() + { + return new LinkedList<>(); + } + }; } public T poll(long timeout, TimeUnit timeUnit) throws InterruptedException @@ -71,7 +75,7 @@ public class SpecializedConcurrentBag } } - // Otherwise, scan the shared list + // Otherwise, scan the shared list ... for maximum of timeout timeout = timeUnit.toNanos(timeout); do { final long startScan = System.nanoTime(); @@ -149,7 +153,10 @@ public class SpecializedConcurrentBag synchronizer.releaseShared(1); } - private class Synchronizer extends AbstractQueuedLongSynchronizer + /** + * Our private synchronizer that handles notify/wait type semantics. + */ + private static class Synchronizer extends AbstractQueuedLongSynchronizer { private static final long serialVersionUID = 104753538004341218L;