비동기 처리를 할 때, 기본 자료형의 경우 데이터가 꼬일 가능성이 있다. 이를 막기 위해서 lock을 거는 등 별도의 처리를 해주어야 하는데, Java 에서는 Atomic 자료형을 제공해 주어, 멀티스레드 환경에서 안전하게 값을 읽고 쓸 수 있다. 제공하는 메서드를 보면, get() — 값 읽기set() — 값 쓰기getAndIncrement()incrementAndGet()addAndGet(n)compareAndSet(expect, update)동시성 문제를 해결하는 주요 기능이다.현재값이 내가 예상한 값과 같으면 새값으로 바꾸고, 그렇지 않으면 아무것도 하지 않는다.예를들어, 내가 알고 있던 값이 100 이고, 이것을 101로 바꾸려 할때, 누군가 102로 바꿨다면 아무것도 하지 않고, 100 이..