2011-08-22 3 views
3

자바에서는 run() 스레드 스케줄러에 스레드를 등록합니까?스레드 스케줄러 등록?

construct(), start()register()?

+0

construct() 및 register()는 무엇을 의미합니까? – Owen

답변

3

자바에서는 스레드 스케줄러에 run()을 등록합니까?

아니요. run() 메서드를 직접 호출하는 경우이를 일반적인 방법이라고합니다. 즉 새로운 스레드가 아니라 현재 스레드에서 실행됩니다.

은 구조물에 대해()

start 방법은, 새로운 쓰레드를 생성하고, 프로세스의 스레드 스케줄러에 등록한다) (시작() 및 레지스터 무엇. (그러나 스케줄러는 Java에서 애투 개념이다. 하나는 존재해야하지만 구현과 동작은 일반적으로 호스트 운영 체제에 맡겨져 있음을 암시한다. 순수 자바 프로그램은 실제로 스레드 스케줄러가 실제로 작동합니다.

Thread API에는 construct() 또는 register() 개의 메소드가 없습니다. Thread 생성자를 참조하는 경우에는 Thread 개체 만 만들고 작업을 수행 할 기본 스레드는 만들지 않습니다. 후자는 start()이 호출 될 때만 생성됩니다.

1

run()은 스레드의 실제 코드입니다. 그 자체가 새로운 스레드를 생성하지 않습니다()

그래서 호출 실행 (내가 그렇게 스레드를 확장 들었다 비록 추한)

Thread childThread = new Thread() { 
    public void run() { 
     // do stuff on a new thread 
    } 
}; 

: 그래서 당신은 같이 할 수 있습니다. 그렇게하려면 시작() 사용

childThread.start(); 

그래서, 나는 그것이 스케줄러를 처리 할 수있는 새로운 스레드를 준다 생각을 -하지만이 방법은 아래 OS 수준에서입니다.

construct()register()의 의미는 무엇입니까?