ホームページ  >  記事  >  Java  >  Java で Runnable インターフェイスを実装するクラスを作成するにはどうすればよいですか?

Java で Runnable インターフェイスを実装するクラスを作成するにはどうすればよいですか?

WBOY
WBOY転載
2023-05-09 19:52:151650ブラウズ

Runnable インターフェイスには run() メソッドが 1 つだけあります。クラスが Runnable インターフェイスを実装してこのメ​​ソッドを提供することを宣言し、そこにスレッド コードを書き込んでタスクのこの部分を完了します。

しかし、Runnable インターフェイスはスレッドをサポートしていません。また、Thread クラスのインスタンスを作成する必要があります。これは、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 メソッドをオーバーライドしてはいけないことに注意してください。スレッドが実行されます これはサブクラスの run メソッドであり、Runnable インターフェイスの実装に使用するクラスの run メソッドではありません。

Java Runnable インターフェイスを使用してマルチスレッドを実装すると、すべてのコードを 1 つのクラスに含めることができるため、カプセル化が容易になります。欠点は、コードのセットが 1 つしか使用できないことです。複数のスレッドと、各スレッドに異なるコードを実行させるには、追加のクラスを作成する必要がありますが、その場合、ほとんどの場合、複数のクラスから Thread を直接継承するほどコンパクトではない可能性があります。

以上がJava で Runnable インターフェイスを実装するクラスを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。