首頁  >  文章  >  Java  >  如何在Java中寫一個實作Runnable介面的類別?

如何在Java中寫一個實作Runnable介面的類別?

WBOY
WBOY轉載
2023-05-09 19:52:151588瀏覽

Runnable介面只有一個方法run(),我們宣告自己的類別實作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介面來實作多執行緒使得我們能夠在一個類別中包容所有的程式碼,有利於封裝,它的缺點在於,我們只能使用一套程式碼,若想建立多個執行緒並使各個線程執行不同的程式碼,則仍必須額外創建類,如果這樣的話,在大多數情況下也許還不如直接用多個類分別繼承Thread 來得緊湊。

以上是如何在Java中寫一個實作Runnable介面的類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除