>  기사  >  Java  >  Java에서 Runnable 인터페이스를 구현하는 클래스를 작성하는 방법은 무엇입니까?

Java에서 Runnable 인터페이스를 구현하는 클래스를 작성하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-05-09 19:52:151649검색

Runnable 인터페이스에는 run()이라는 하나의 메서드만 있습니다. 우리는 클래스가 Runnable 인터페이스를 구현하고 이 메서드를 제공한다고 선언하고 작업의 이 부분을 완료하기 위해 여기에 스레드 코드를 작성합니다.

그러나 Runnable 인터페이스는 스레드를 지원하지 않습니다. Thread 클래스의 생성자 public Thread(Runnable target)를 통해 달성되는 인스턴스도 생성해야 합니다. 다음은 예입니다.

public class MyThread implements Runnable  {   int count= 1, number;   public MyThread(int num)  {   numnumber = num;   System.out.println("创建线程 " + number);   }   public void run()  {   while(true)  {   System.out.println  ("线程 " + number + ":计数 " + count);   if(++count== 6) return;   }   }   public static void main(String args[])  {   for(int i = 0; i 〈 5;  i++) new Thread(new MyThread(i+1)).start();   }   }

엄밀히 말하면 Thread 하위 클래스의 인스턴스를 만드는 것도 가능하지만 하위 클래스는 Thread 클래스의 run 메서드를 재정의해서는 안 됩니다. 그렇지 않으면 스레드가 다음을 실행합니다. Runnable 인터페이스를 구현하는 데 사용하는 클래스의 run 메서드 대신 하위 클래스의 run 메서드를 사용해 볼 수도 있습니다.

Java Runnable 인터페이스를 사용하여 멀티스레딩을 구현하면 모든 코드를 하나의 클래스에 포함할 수 있으며 이는 캡슐화에 도움이 됩니다. 단점은 여러 스레드를 생성하고 만들려는 경우 하나의 코드 세트만 사용할 수 있다는 것입니다. 각 스레드가 실행됩니다. 코드가 다르더라도 추가 클래스를 만들어야 합니다. 이 경우 대부분의 경우 여러 클래스에서 Thread를 직접 상속하는 것만큼 간단하지 않을 수 있습니다.

위 내용은 Java에서 Runnable 인터페이스를 구현하는 클래스를 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제