자바에서 멀티 스레딩이라는 개념을 배우고 있었는데,이 흥미로운 동작을 발견했습니다. 스레드를 만드는 다양한 방법을 실험하고있었습니다. 이제 문제의 하나는 Thread
을 확장하고 Runnable
인터페이스를 구현하지 않을 때입니다. 보조 노트에 Java의 흥미로운 스레드 동작
Runnable
인터페이스를 구현하기보다는
Thread
클래스를 확장하는 완벽한 OO의 의미가 있음을 알고 있지만,이 질문의 목적을 위해,의 우리가
Thread
클래스를 확장 가정 해 봅시다.
하자 내 확장 Thread
클래스의 내 인스턴스가 t
나는 코드 블록 내 Thread
클래스의 내 run()
메서드 내에서 작성 백그라운드에서 실행해야합니다.
그것은 백그라운드에서 완벽하게 t.start()
으로 실행되었지만 약간 궁금해서 t.run()
메서드를 호출했습니다. 주 스레드에서 실행 된 코드 조각!
t.start()
은 무엇입니까? t.run()
은 무엇입니까?
을 당신이 여기에 답을 찾을 수 있다고 생각입니다 : //stackoverflow.com/questions/8579657/java-whats-the-difference-between-thread-start-and-runnable-run http://stackoverflow.com/questions/15841301/difference-between-running-and -starting-a-thread –
http : // stackoverflow.com/a/13134221/3436942는 쉬운 언어로 차이점을 알려줍니다. 거의 ** t.start(); **는 새로운 스레드를 만들고/만드는 동안 ** t.run(); **은 메인 스레드에서 호출합니다. – jbutler483