//方法一: 实现从接口继承
public class testThread{
public static void main(String[] args){
Runner1 r = new Runner1();
Thread t = new Thread(r);
t.start();
for(int i = 0; i<10; i++){
System.out.println("Main Thread: "+i);
try {
Thread.sleep(2000); //sleep时必须要捕获InterruptedException 异常
}catch(InterruptedException e){
System.out.println("线程暂停异常");
}
}
}
}
class Runner1 implements Runnable {
public void run(){
for(int i =0; i<10; i++){
System.out.println("Runner1: "+i);
try {
Thread.sleep(1000);
}catch(InterruptedException e){
System.out.println("线程暂停异常");
}
}
}
}
//================================================
//另一种实现建立线程的方法
//从Thread继承
public class testThread2{
public static void main(String[] args){
Runner1 r = new Runner1();
r.start();
for(int i = 0; i<10; i++){
System.out.println("Main Thread: "+i);
try {
Thread.sleep(2000);
}catch(InterruptedException e){
System.out.println("线程暂停异常");
}
}
}
}
class Runner1 extends Thread {
public void run(){
for(int i =0; i<10; i++){
System.out.println("Runner1: "+i);
try {
Thread.sleep(1000);
}catch(InterruptedException e){
System.out.println("线程暂停异常");
}
}
}
}
//从接口继承比较灵活,从接口继承后还可以继承其他类来实现其他方法,而从Thread继承后无法再继承其他类。能用接口时尽量用接口。