diff --git a/3.JavaMultithreading/src/com/javarush/task/task26/task2609/Solution.java b/3.JavaMultithreading/src/com/javarush/task/task26/task2609/Solution.java index fcbd094..3b6d8e6 100644 --- a/3.JavaMultithreading/src/com/javarush/task/task26/task2609/Solution.java +++ b/3.JavaMultithreading/src/com/javarush/task/task26/task2609/Solution.java @@ -28,10 +28,7 @@ private final int hash(Object key) { public Object get(Object key) { int hash = hash(key); - int j; - if (hash < NUMBER_LOCKS) j = hash; - else j = Math.abs(hash%NUMBER_LOCKS); - synchronized (locks[j]) { + synchronized (locks[hash % NUMBER_LOCKS]) { for (Node m = buckets[hash]; m != null; m = m.next) { if (m.key.equals(key)) return m.value; } @@ -41,10 +38,7 @@ public Object get(Object key) { public void clear() { for (int i = 0; i < buckets.length; i++) { - int j; - if (i < NUMBER_LOCKS) j = i; - else j = Math.abs(i%NUMBER_LOCKS); - synchronized (locks[j]) { + synchronized (locks[i % NUMBER_LOCKS) { buckets[i] = null; } }