線程實(shí)例化有兩種方式,一種是繼承Thread類,一種是實(shí)現(xiàn)Runnable接口。
想啟動(dòng)線程只能通過Thread類的Start方法才能啟動(dòng)線程,啟動(dòng)Start方法只使線程進(jìn)入就緒狀態(tài),并不能進(jìn)入運(yùn)行狀態(tài),真正要進(jìn)入運(yùn)行狀態(tài)是需要Java虛擬機(jī)調(diào)用run()方法才能進(jìn)入運(yùn)行狀態(tài)(何時(shí)運(yùn)行不受人為控制,要根據(jù)CPU當(dāng)時(shí)的狀態(tài)決定)。
自定義的線程類要想實(shí)現(xiàn)自己的邏輯處理,要將代碼寫入run()方法里,實(shí)現(xiàn)方法重寫,遮陽(yáng)就能實(shí)現(xiàn)自己想要的功能。
我想顯示三個(gè)不同的線程的名字和休息時(shí)間(時(shí)間分別是100,200,300)。
下面附實(shí)例化線程的兩種方式:
實(shí)現(xiàn)Runnable接口的方式:
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("name="+this.name+" 休息時(shí)間"+this.time);
}
}
public class Test1 {

public static void main(String[] args) {
Runnable mt1 = new MyThread("1線程",100);
Runnable mt2 = new MyThread("2線程",200);
Runnable mt3 = new MyThread("3線程",300);
new Thread(mt1).start();
new Thread(mt2).start();
new Thread(mt3).start();
}

}
繼承Thread類的方式:
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("name="+this.getName()+" 休息時(shí)間"+this.time);
}
}
public class Test {

public static void main(String[] args) {

MyThread t1 = new MyThread("1線程",100);
MyThread t2 = new MyThread("2線程",200);
MyThread t3 = new MyThread("3線程",300);
t2.start();
t3.start();
t1.start();
}
}
運(yùn)行結(jié)果是:
想啟動(dòng)線程只能通過Thread類的Start方法才能啟動(dòng)線程,啟動(dòng)Start方法只使線程進(jìn)入就緒狀態(tài),并不能進(jìn)入運(yùn)行狀態(tài),真正要進(jìn)入運(yùn)行狀態(tài)是需要Java虛擬機(jī)調(diào)用run()方法才能進(jìn)入運(yùn)行狀態(tài)(何時(shí)運(yùn)行不受人為控制,要根據(jù)CPU當(dāng)時(shí)的狀態(tài)決定)。
自定義的線程類要想實(shí)現(xiàn)自己的邏輯處理,要將代碼寫入run()方法里,實(shí)現(xiàn)方法重寫,遮陽(yáng)就能實(shí)現(xiàn)自己想要的功能。
我想顯示三個(gè)不同的線程的名字和休息時(shí)間(時(shí)間分別是100,200,300)。
下面附實(shí)例化線程的兩種方式:
實(shí)現(xiàn)Runnable接口的方式:

































繼承Thread類的方式:






























運(yùn)行結(jié)果是:
