happens-before란 무엇인가?
·
언어/Java
자바에서 멀티스레드 환경을 다루다 보면 자주 듣게 되는 말이 있다.바로 "happens-before" 관계다.이것은 단순한 실행 순서를 말하는 게 아니다.“스레드 간의 메모리 정합성”을 보장하는 논리적 순서의 규칙이다.🔍 happens-before란?happens-before는 자바 메모리 모델(Java Memory Model, JMM)에서“A 작업이 B 작업보다 먼저 일어났음을 메모리 차원에서 보장하는 관계”를 말한다.즉, A happens-before B라면 → A의 메모리 변경 결과는 B에서 반드시 보인다.단순한 코드 순서가 아니라, 메모리 가시성(visibility)과 관련된 개념이다.🧱 대표적인 happens-before 관계 6가지동일 스레드 내 코드 순서int x = 1;int y = x..