원자적 연산이란? 원자적 연산이란 연산이 더 이상 나눌 수 없는 단위로 수행된 것을 의미한다. 즉 멀티스레드 상황에서 다른 스레드의 간섭 없이 안전하게 처리되는 연산이다.// 원자적 연산인 경우int i = 0;// 원자적 연산이 아닌 경우i = i + 1;i++; 위의 연산을 보면 i = 0은 둘로 쪼갤 수 없는 원자적 연산이다. 그에 반해 i = i + 1과 i++은 원자적 연산이 아니다. 왜냐하면 이 연산은 아래와 같이 나누어 실행되기 때문이다.i의 값을 읽는다. i의 값은 0이다.읽은 0에 1을 더해서 1을 만든다.더한 1을 i 변수에 대입한다. 원자적 연산이 아닌 경우 멀티스레드 환경에서 안전하게 연산을 수행할려면 임계 영역을 만들어야 할 경우 synchronized 블록이나 Lock 등을 사용..
Java/Java
2025. 8. 9. 15:21