Atomic객체와 그 원리에 대해서 설명해주세요. #83
Sung-june27
started this conversation in
Concurrency
Replies: 3 comments
|
Atomic 객체는 CAS 연산을 통해 락 없이 멀티 스레드 환경에서 단일 변수 연산의 원자성을 보장하는 객체입니다. AtomicInteger, AtomicLong, AtomicBoolean, AtomicReference 등의 종류가 있습니다. |
0 replies
|
Atomic 객체는 락을 사용하지 않고 CAS 연산을 활용하여 읽기-쓰기 연산을 원자적으로 실행하는 객체 입니다. CAS는 CPU 레벨에서 하는 연산으로 연산 중에 다른 스레드가 끼어들 수 없어 원자적으로 작업이 처리 됩니다. 구체적으로는 Compare단계에서 메모리 주소값에 내가 기대하는 값(기존의 값)이 들어있으면 다른 스레드가 변경하지 않은것이므로 연산을 수행합니다. 만약 실패할 경우에는 재시도를 합니다. |
0 replies
|
Atomic은 멀티스레드 환경에서 락 없이 원자적 연산을 제공하는 객체입니다. Atomic의 핵심 원리는 CAS 입니다. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
.
All reactions