Runnable 2

[Java] Runnable 인터페이스와 Thread 클래스

목차 1. Runnable 인터페이스 2. Thread 클래스 3. 시스템 로드에 따른 JVM의 자동 스레드 관리 자바는 기본적으로 싱글스레드 환경으로 실행된다. 메인 메서드(main method)가 포함된 클래스의 main 스레드가 실행되며, 이는 싱글스레드에서 코드를 순차적으로 실행한다. 만약 멀티 스레드 환경으로 실행하고 싶은 경우 Runnable 인터페이스나 Thread 클래스를 사용한다. 하지만 일부 자바 라이브러리 및 프레임워크 내부에서는 자동으로 멀티스레딩을 사용하여 작업을 실행하기도 한다(Stream API , 스프링 etc) 1.Runnable 인터페이스 The Runnable interface should be implemented by any class whose instances a..

[Java] 스레드의 생명주기(Thread lifecycle, Runnable/Running의 차이점 )

목차 1.스레드 생명주기(Thread lifecycle) 2.Runnable/Running 의 차이점 1. 스레드 생명주기(Thread lifecycle) 스레드는 New, Active(Runnable/Running),Blocked/Waiting,Terminated 의 단계로 구성되어있다. New Thread 인스턴스만 부른 상태이며 아직 스레드를 사용하지 않은 상태 (start() 메소드를 사용하기 전의 상태) Active(Runnable/Running) 실행 가능하거나 실행중인 상태 (start()메소드를 부른 상태) Blocked/Waiting 일시 정지된 스레드 상태( join(),sleep(),wait() 메소드를 사용한 상태 ) 참고로 CPU에서는 waiting 상태의 스레드를 실행시키지 않으..