[JAVA-2]

Thread

  • run() vs start()
    • run 메서드는 스레드에서 수행할 작업을 정의하는 메서드이고 start 메서드 호출은 스레드의 run 메서드가 호출될 수 있도록 준비하는 과정이다.
    • 실제 run 메서드를 호출하는 것은 JVM이다. start가 호출되면 JVM이 운영체제의 스레드 스케줄러에 의해 가능할 때 스레드의 run 메서드를 호출한다. 따라서 우리 코드상에서 run 메서드를 호출하지 않는 것이다. 마치 우리가 직접 main 메서드를 호출하지 않은 것과 같다.