18 lines
737 B
Markdown
18 lines
737 B
Markdown
# Problem 6.4: Implement AtomicXXX.updateAndGet
|
|
|
|
On slide 4-46 two implementations for the modification of an `AtomicXXX` object were presented: A
|
|
loop with a `compareAndSet()` operation and the more abstract and more general
|
|
`updateAndGet()` operation. Implement your own `updateAndGet()` method for the
|
|
`AtomicCounter` class on slide 4-46. Use `compareAndSet()` for this. Use the following interface
|
|
as the parameter type for the lambda expression:
|
|
|
|
```java
|
|
interface IntUnaryOperator {
|
|
int applyAsInt(int x);
|
|
}
|
|
```
|
|
|
|
What condition must hold for the behavior of the code passed to `updateAndGet()`?
|
|
|
|
Test your class with the class `AtomicCounterTest` to be found in the source code folder on he
|
|
server. Its output must be `100000000`. |