Java線程類也是壹個object類,它的實例都繼承自java.lang.Thread或其子類。?可以用如下方式用java中創建壹個線程:
Tread?thread?=?new?Thread();執行該線程可以調用該線程的start()方法:
thread.start();編寫線程運行時執行的代碼有兩種方式:壹種是創建Thread子類的壹個實例並重寫run方法,第二種是創建類的時候實現Runnable接口。接下來我們會具體講解這兩種方法:
創建Thread的子類
創建Thread子類的壹個實例並重寫run方法,run方法會在調用start()方法之後被執行。例子如下:
public?class?MyThread?extends?Thread?{public?void?run(){
System.out.println("MyThread?running");}
}
可以用如下方式創建並運行上述Thread子類
MyThread?myThread?=?new?MyThread();myTread.start();
壹旦線程啟動後start方法就會立即返回,而不會等待到run方法執行完畢才返回。就好像run方法是在另外壹個cpu上執行壹樣。當run方法執行後,將會打印出字符串MyThread running。
實現Runnable接口
第二種編寫線程執行代碼的方式是新建壹個實現了java.lang.Runnable接口的類的實例,實例中的方法可以被線程調用。下面給出例子:
public?class?MyRunnable?implements?Runnable?{public?void?run(){
System.out.println("MyRunnable?running");
}
}
為了使線程能夠執行run()方法,需要在Thread類的構造函數中傳入?MyRunnable的實例對象。示例如下:
Thread?thread?=?new?Thread(new?MyRunnable());thread.start();
當線程運行時,它將會調用實現了Runnable接口的run方法。上例中將會打印出”MyRunnable running”。