Replies: 4 comments
-
java atomic 타입은 멀티 스레드 환경에서 race condition과 같은 문제가 발생하지 않도록, 안전하게 값을 읽고 쓸 수 있도록 해주는 클래스이다. Atomic Type은 CAS( = Compare And Swap) 방식에 기반해 동기화 문제를 해결한다. 단, CAS 연산을 사용하기에 추가적인 메모리를 사용해야 하고, 추가적인 연산을 필요로 하므로 일반적인 연산보다 더 많은 리소스가 발생할 수 있음을 고려해야된다. (PS. 추가적으로 synchronized 랑 volatile 과의 차이 점이나, ABA 문제 등을 공부해보면 좋을 것 같아요. 너무 양이 방대해서 위에 있는 것 까지만..) |
Beta Was this translation helpful? Give feedback.
-
자바에서는 synchronized 키워드를 사용해서 쓰레드를 동기화 할 수 있습니다. Atomic의 핵심 원리는 CAS (Compare And Swap) 알고리즘입니다. 이를 통해 대기하지 않고 바로 값을 업데이트 할 수 있기 때문에 |
Beta Was this translation helpful? Give feedback.
-
멀티스레드 |
Beta Was this translation helpful? Give feedback.
-
.
Beta Was this translation helpful? Give feedback.
All reactions