2. start()와 run() 호출 차이 - thread의 run()을 호출하는 것은 class에 선언된 메서드를 호출하는 것 - start()를 호출하는 것은 새로운 thread가 작업을 실행하는데 필요한 call stack을 생성하고, run()을 호출해서 생성된 call stack에 run()이 첫 번째로 올라가게 됨
3. 데몬 스레드(daemon thread) - 일반 스레드의 작업을 돕는 보저 역할 - 일반 스레드가 종료되면 데몬 스레드는 강제 종료 - "thread변수명".start(); 를 호출하기 전 "thread변수명".setDaemon(boolean 값); 을 해야 데몬 스레드로 지정
4. sleep() 사용법(?) - "thread변수명".sleep(~~); 으로 선언해도 되나 sleep() 메소드는 static 메소드이기 때문에 내가 지정한 스레드가 현재 실행중인 thread가 아니라면 main thread가 영향을 받음 - Thread.sleep(); 으로 호출해야 의미 전달에 혼선이 없음