建立執行緒的第二種方法 Thread
public class TestExtendsThread {
public static void main(String[] args) {
Shoop sh = new Shoop();
Market ma = new Market();
sh.start();
ma.start();
//繼承 thread後不用再建立thread物件,直接用用類的物件就可以呼叫start方法;
//相比於thread,用runnnabel介面更加靈活,因為介面實現多實現,繼承thread因為java只支援單繼承,所以擴充套件性就很差;
//Java只支援單繼承,而支援介面的多實現,因此Runnable介面具有更好的擴充套件性
//Runnable多執行緒都是基於Runnable物件建立的,所以可以共享Runnable物件上的資源
//推薦使用Runnable介面實現多執行緒
}
}
class Shoop extends Thread{
public void run () {
for (int i = 0; i <100; i++) {
try {
Thread.sleep(100);//利用sleep 方法可以更好的測試執行緒的同步與否;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("aaaaaaaaaaaaaaaaa");
}
}
}
class Market extends Thread{
public void run () {
for (int i = 0; i <100; i++) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("------------");
}
}
}