多線程作業(2018.08.23)
阿新 • • 發佈:2018-08-23
線程 對象 pan tar star his 實現 system code
4、設計一個線程操作類,要求可以產生三個線程對象,並可以分別設置三個線程的休眠時間,如下所示:
線程A,休眠10秒 線程B,休眠20秒 線程C,休眠30秒 要求: 采用以下兩種方式方式分別實現該功能: 1,Tread類 2,Runnable這是實現Runnable接口方法 class MyTh implements Runnable{ private String name; private int time; public MyTh (String name,int time){ this.name = name ;//設置線程名稱 this.time = time ;//設置休眠時間 } public void run(){ //重寫run方法 try { Thread.sleep(this.time); } catch (Exception e) { e.printStackTrace(); } System.out.println(this.name+",休眠時間為:"+this.time/1000+"秒"); } } public class thread_02 { public staticvoid main(String[] args) { MyTh a = new MyTh("線程1", 10000); //定義休眠的對象,並設置休眠時間 MyTh b = new MyTh("線程2", 20000); MyTh c = new MyTh("線程3", 30000); new Thread(a).start(); //啟動線程 new Thread(b).start(); new Thread(c).start(); } }
1 這是繼承Thread類實現 2 class MyThread extendsThread{ 3 private int time; 4 public MyThread (String name,int time){ 5 super(name); 6 this.time = time ; 7 } 8 public void run(){ 9 try { 10 Thread.sleep(this.time); 11 } catch (Exception e) { 12 e.printStackTrace(); 13 } 14 System.out.println(Thread.currentThread().getName()+",休眠時間為:"+this.time/1000+"秒"); 15 } 16 } 17 public class thread_01 { 18 19 public static void main(String[] args) { 20 MyThread a = new MyThread("線程1", 10000); 21 MyThread b = new MyThread("線程2", 20000); 22 MyThread c = new MyThread("線程3", 30000); 23 a.start(); 24 b.start(); 25 c.start(); 26 } 27 }
運行結果:
1 線程1,休眠時間為:10秒 2 線程2,休眠時間為:20秒 3 線程3,休眠時間為:30秒
多線程作業(2018.08.23)