English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
새로운 실행 스레드를 생성하는 방법이 두 가지 있습니다. 하나는 Thread 클래스의 서브 클래스로 클래스를 선언하는 것입니다. 이 서브 클래스는 Thread 클래스의 run 메서드를 재정의해야 합니다. 그런 다음 서브 클래스의 인스턴스를 할당하고 시작할 수 있습니다.
스레드를 생성하는 또 다른 방법은 Runnable 인터페이스를 구현한 클래스를 선언하는 것입니다. 그런 다음, 그 클래스는 run 메서드를 구현합니다. 그런 다음, 해당 클래스의 인스턴스를 할당하고, Thread를 생성할 때 이를 매개변수로 전달하여 시작할 수 있습니다.
각 스레드는 식별을 위해 이름을 가집니다. 여러 스레드가 동일한 이름을 가질 수 있습니다. 스레드를 생성할 때 이름을 지정하지 않으면 새로운 이름이 생성됩니다.
순서 | 키 | 선 | 실시간 |
---|---|---|---|
1 | 기본 | 스레드는 클래스입니다. 스레드를 생성하기 위해 사용됩니다 | Runnable은 스레드를 생성하기 위한 함수 인터페이스입니다 |
2 | 메서드 | 그것은 다양한 메서드를 포함합니다start() 와run() | 그것은 추상 메서드만을 가집니다 run() |
3 | 각 스레드는 독립적인 객체를 생성하고 그것과 연결됩니다 | 여러 스레드가 동일한 객체를 공유합니다. | |
4 | 기억 | 필요한 메모리가 많습니다 | 필요한 메모리가 적습니다 |
5 | 제한 사항 | Java에서多重 상속은 허용되지 않으므로, Thread 클래스를 확장한 클래스는 다른 어떤 클래스도 확장할 수 없습니다. | 한 클래스가 실행 가능 인터페이스를 구현하고 있으면, 그 클래스는 다른 클래스를 확장할 수 있습니다. |
class RunnableExample implements Runnable{ public void run(){ System.out.println("Thread is running for Runnable Implementation"); } public static void main(String args[]){ RunnableExample runnable=new RunnableExample(); Thread t1 =new Thread(runnable); t1.start(); } }
class ThreadExample extends Thread{ public void run(){ System.out.println("Thread is running"); } public static void main(String args[]){ ThreadExample t1=new ThreadExample(); t1.start(); } }