您好,登錄后才能下訂單哦!
本篇文章為大家展示了Java 中怎么利用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 方法,而不是我們用以實現Java Runnable線程接口的類的 run 方法,對此大家不妨試驗一下。
Java線程撥號器如何進行代碼編寫
Java線程檢測基本的問題猜想
Java線程同步鎖解決共享數據安全
Java線程死鎖如何避免這一悲劇
Java線程模型如何完善相關的數據處理
使用 Runnable 接口來實現多線程使得我們能夠在一個類中包容所有的代碼,有利于封裝,它的缺點在于,我們只能使用一套代碼,若想創建多個線程 并使各個線程執行不同的代碼,則仍必須額外創建類,如果這樣的話,在大多數情況下也許還不如直接用多個類分別繼承 Thread 來得緊湊。
綜上所述,兩種方法各有千秋,大家可以靈活運用。下面讓我們一起來研究一下多線程使用中的一些問題。
Java Runnable線程的四種狀態
1. 新狀態:線程已被創建但尚未執行(start() 尚未被調用)。
2. 可執行狀態:線程可以執行,雖然不一定正在執行。CPU 時間隨時可能被分配給該線程,從而使得它執行。
3. 死亡狀態:正常情況下 run() 返回使得線程死亡。調用 stop()或 destroy() 亦有同樣效果,但是不被推薦,前者會產生異常,后者是強制終止,不會釋放鎖。
4. 阻塞狀態:線程不會被分配 CPU 時間,無法執行。
上述內容就是Java 中怎么利用Runnable線程編寫接口,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。