참고 : 이펙티브자바 (규칙66 변경 가능 공유 데이터에 대한 접근은 동기화하라) 이펙티브자바에서는 스레드를 중지할때 Thread.stop() 함수를 사용하지 말라고 강조한다. 뭔가 안전하지 않다는 이유다. 대신 반복문으로 이를 해결하라고 당부한다. 반복문으로 실행하는 스레드 예를들어, 스레드를 하나 생성하여 실행한다. 외부에서 스레드의 실행조건(반복문)을 변경하고자 한다. 스레드는 실행조건이 변경을 감지하고 실행을 종료한다. public class D { private static boolean stopRequested = false ; private static void requestStop (){ stopRequested = true ; } private static boolean stopRequested (){ return stopRequested; } public static void main ( String [] args) throws InterruptedException { Thread backThread = new Thread ( new Runnable (){ public void run (){ int i = 0 ; System . out . println( 2 ); while ( ! stopRequested) i ++ ; System . out . println( 4 + " / " + i); } }); backThread . start(); System . out . println( 1 ); TimeUnit ....