PHPz2017-04-18 10:03:15
Thread.currentThread()는 현재 프로그램이 실행 중인 스레드를 반환하지 않고, Thread.currentThread() 코드가 실행되는 스레드를 반환합니다.
따라서 새 스레드가 생성되면 코드는 메인 스레드에서 실행되고, run 메서드의 코드는 스레드에서 실행되는 것을 볼 수 있습니다.
출력물을 보면 이해하기 쉽습니다
PHP中文网2017-04-18 10:03:15
1. new
이 Thread
객체인 경우 기본 이름은 Thread-n
소스 코드를 보면 알 수 있습니다. Thread
2. 스레드 객체입니다.
이렇게 사용하면 현재 스레드입니다. this
3.
은 항상 현재 실행 중인 스레드를 반환합니다. Thread.currentThread()
巴扎黑2017-04-18 10:03:15
생성자 메서드의 실행 결과는 이해가 되지만 왜 setName의 testThread가 아닌 스레드의 run 메서드 실행 결과가 나오는 걸까요?
PHP中文网2017-04-18 10:03:15
1. getName() 메서드는 Thread 클래스에서 상속됩니다. Thread 클래스의 getName() 메서드를 살펴보세요.
으아악2. 예
3. 예
생성자에서는 Thread.currentThread()가 메인 스레드이고, run 메서드의 Thread.currentThread()가 현재 스레드입니다