81
汽車大全
Java多線程--線程操作範例
1、實例要求
設計一個線程操作類,要求可以產生三個線程對象,並可以分別設置三個線程的休眠時間:
線程A : 休眠10秒
線程B: 休眠20秒
線程C : 休眠30秒
2、通過繼承Thread類
在Thread類中直接存在了name屬性。
class MyThread extends Thread{ private int time ; public MyThread(String name,int time){ super(name) ; // 設置線程名稱 this.time = time ; // 設置休眠時間 } public void run(){ try{ Thread.sleep(this.time) ; // 休眠指定的時間 }catch(InterruptedException e){ e.printStackTrace() ; } System.out.println(Thread.currentThread().getName() + "線程,休眠" + this.time + "毫秒。") ; } }; public class ExecDemo01{ public static void main(String args[]){ MyThread mt1 = new MyThread("線程A",10000) ; // 定義線程對象,指定休眠時間 MyThread mt2 = new MyThread("線程B",20000) ; // 定義線程對象,指定休眠時間 MyThread mt3 = new MyThread("線程C",30000) ; // 定義線程對象,指定休眠時間 mt1.start() ; // 啟動線程 mt2.start() ; // 啟動線程 mt3.start() ; // 啟動線程 } };
3、通過實現Runnable接口
應該添加一個name屬性,以保存線程名稱。
class MyThread implements Runnable{ private String name ; private int time ; public MyThread(String name,int time){ this.name = name ; // 設置線程名稱 this.time = time ; // 設置休眠時間 } public void run(){ try{ Thread.sleep(this.time) ; // 休眠指定的時間 }catch(InterruptedException e){ e.printStackTrace() ; } System.out.println(this.name + "線程,休眠" + this.time + "毫秒。") ; } }; public class ExecDemo02{ public static void main(String args[]){ MyThread mt1 = new MyThread("線程A",10000) ; // 定義線程對象,指定休眠時間 MyThread mt2 = new MyThread("線程B",20000) ; // 定義線程對象,指定休眠時間 MyThread mt3 = new MyThread("線程C",30000) ; // 定義線程對象,指定休眠時間 new Thread(mt1).start() ; // 啟動線程 new Thread(mt2).start() ; // 啟動線程 new Thread(mt3).start() ; // 啟動線程 } };
最後更新:2017-04-03 14:53:38