Skip to content

Commit 7f039bf

Browse files
committed
Bux fix
1 parent 42476ff commit 7f039bf

2 files changed

Lines changed: 47 additions & 5 deletions

File tree

logs/app.log

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 6, counter value 20
2+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 9, counter value 20
3+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 8, counter value 20
4+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 2, counter value 20
5+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 16, counter value 20
6+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 18, counter value 20
7+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 5, counter value 20
8+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 16, counter value 16
9+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 18, counter value 15
10+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 2, counter value 17
11+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 19, counter value 20
12+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 11, counter value 20
13+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 5, counter value 14
14+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 7, counter value 20
15+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 6, counter value 18
16+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 15, counter value 20
17+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 14, counter value 20
18+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 12, counter value 20
19+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 3, counter value 20
20+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 11, counter value 12
21+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 10, counter value 20
22+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 15, counter value 10
23+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 20, counter value 20
24+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 12, counter value 8
25+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 1, counter value 20
26+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 3, counter value 6
27+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 13, counter value 20
28+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 17, counter value 20
29+
INFO core.basesyntax.Counter:18 Before decrementing, Thread # 4, counter value 20
30+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 13, counter value 4
31+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 17, counter value 3
32+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 10, counter value 7
33+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 4, counter value 2
34+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 1, counter value 5
35+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 14, counter value 9
36+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 7, counter value 11
37+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 19, counter value 13
38+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 8, counter value 19
39+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 20, counter value 1
40+
INFO core.basesyntax.Counter:21 After decrementing, Thread # 9, counter value 0

src/main/java/core/basesyntax/Counter.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,22 @@
33
import org.apache.logging.log4j.LogManager;
44
import org.apache.logging.log4j.Logger;
55

6+
import java.util.concurrent.atomic.AtomicInteger;
7+
68
public class Counter {
79
private static final Logger logger = LogManager.getLogger(Counter.class);
810
private static final String MESSAGE = "%20s, Thread # %2s, counter value %2d";
9-
private int value;
11+
private AtomicInteger value;
1012

1113
public Counter(int value) {
12-
this.value = value;
14+
this.value = new AtomicInteger(value);
1315
}
1416

1517
public void decreaseValue() {
1618
logger.info(String.format(MESSAGE,
17-
"Before decrementing", Thread.currentThread().getName(), value));
18-
value--;
19+
"Before decrementing", Thread.currentThread().getName(), value.get()));
20+
value.decrementAndGet();
1921
logger.info(String.format(MESSAGE,
20-
"After decrementing", Thread.currentThread().getName(), value));
22+
"After decrementing", Thread.currentThread().getName(), value.get()));
2123
}
2224
}

0 commit comments

Comments
 (0)