一個普通類別實作了Runnable接口,那麼,這個普通類別也就具備了多執行緒操作能力。
(推薦學習:java入門程式)
But,Runnable介面中沒有定義start()方法,所以想要啟動線程,我們還得拜託Thread類,畢竟人家有start()方法。
透過實作Runnable介面實作多執行緒實例:
MyRunnable類別(普通類別)
package cn.tkr.thread; public class MyRunnable implements Runnable { //重写Runnable接口中的run()方法 @Override public void run() { for (int i = 0; i < 3; i++) { System.out.println("我是MyRunnable类中的run方法中的代码" + i); } } }
TestMyRunnable類別(測試類別)
package cn.tkr.thread; public class TestMyRunnable { public static void main(String[] args) { MyRunnable mr = new MyRunnable(); //创建线程类的对象 Thread m = new Thread(mr); m.start(); for (int i = 0; i < 3; i++) { System.out.println("我是main方法中的代码" + i); } } }
(影片教學推薦:java影片教學)
執行結果:
我是main方法中的代码0 我是MyRunnable类中的run方法中的代码0 我是MyRunnable类中的run方法中的代码1 我是MyRunnable类中的run方法中的代码2 我是main方法中的代码1 我是main方法中的代码2
分析:
在Thread類別中有個建構方法叫做Thread( Runable target ),專門用來接收線程類別的物件(實作Runnable介面的線程類別物件),把mr線程傳遞給Thread類別之後,我們就可以透過物件m來完美地啟動線程。
以上是如何透過實作Runnable介面來實現多執行緒的詳細內容。更多資訊請關注PHP中文網其他相關文章!