閱讀81 返回首頁    go 汽車大全


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

  上一篇:go MATLAB中的round函數
  下一篇:go FC網絡學習筆記01