1. Main Thread 모든 Java Application은 main thread 가 main 메소드를 실행하면서 시작된다. 이러한 메인 쓰레드안에서 싱글 스레드가 아닌 멀티 스레드 애플리케이션은 필요에 따라 작업 스레드를 만들어 병렬로 코드를 실행할 수 있다. Multi Thread는 메인 스레드가 종료되어도 실행 중인 Thread가 하나라도 있으면 프로세스는 종료되지 않는다. 2. Thread 생성 2.1 Thread 클래스로부터 직접 생성 java.lang.Thread 클래스로부터 작업 스레드 객체를 직접 생성하려면 Runnable을 매개 값으로 갖고 있는 생성자를 호출한다. Runnable에는 run() 메소드 하나가 정의되어 있으며, 구현 클래스에서 run()을 재정의하여 실행할 코드를 작성..