
16-2 스레드 - 제어
·
JAVA
이전 포스팅에서 스레드를 사용하기 위해 스레드.start() 메소드를 사용했다. 사실 start() 메소드를 호출한다고 해서 스레드가 곧바로 실행되는 것은 아니다. 실행 대기 상태가 되어 실행이 되기를 기다리는 상태가 된다. 운영체제에서는 실행대기 생태에 있는 스레드 중 하나를 선택하여 CPU가 run() 메소드를 실행하여 실행 상태(running)로 만든다. 상태 구분 내용 초기 상태 NEW 스레드 객체를 생성한 상태 실행 가능 RUNNABLE start()메서드로 스레드를 실행할 수 있는 상태 실행 중 RUNNING 실행가능한 스레드 중에서 스케줄러가 선택하여 스레드가 실행 중인 상태. CPU에 의해 코드가 한줄씩 실행된다. CPU는 n개의 스레드 중 1개밖에 처리할 수 없으며 n-1개의 스레드는 대..