아이템78 공유 중인 가변 데이터는 동기화해 사용하라
Effective Java 3e 아이템 78를 요약한 내용 입니다.
동기화는 배타적 실행뿐 아니라 스레드 사이의 안정적인 통신에 꼭 필요하다.
동기화는 배타적 실행뿐 아니라 스레드 사이의 안정적인 통신에 꼭 필요하다.public class StopThread {
private static boolean stopRequested;
public static void main(String[] args) throws InterruptedException {
Thread backgroundThread = new Thread(() -> {
int i = 0;
while (!stopRequested)
i ++;
});
backgroundThread.start();
TimeUnit.SECONDS.sleep(1);
stopRequested = true;
}
}다시 말해 가변 데이터는 단일 스레드에서만 쓰도록 하자.
가변 데이터는 단일 스레드에서만 쓰도록 하자.정리
참조
Last updated