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 サイトの他の関連記事を参照してください。