继承Thread实现只能一个run只能运行一次
继承Runnable实现可以将一个Runnable多次放入线程,从而实现一个成员同时多次运行。
class FileTransThread extends Thread{
private String filename;
public FileTransThread(String name) {
filename=name;
}
public void run() {
System.out.println("transfer"+" "+filename);
try {
sleep(1000);
}catch(Exception e) {}
System.out.println(filename+" "+"transfer sucessfully!");
}
}
class FileTransRunnable implements Runnable{
private String filename;
public FileTransRunnable(String name) {
filename=name;
}
public void run() {
System.out.println("transfer"+" "+filename);
try {
Thread.sleep(1000);
}catch(Exception e) {}
System.out.println(filename+" "+"transfer sucessfully!");
}
}
public class MyCode {
public static void main (String[] args) {
FileTransThread ft1=new FileTransThread("hhh");
FileTransThread ft2=new FileTransThread("ggg");
FileTransThread ft3=new FileTransThread("xxx");
ft1.start();
ft2.start();
ft3.start();
FileTransRunnable ft4=new FileTransRunnable("iii");
FileTransRunnable ft5=new FileTransRunnable("yyy");
FileTransRunnable ft6=new FileTransRunnable("ttt");
Thread th1=new Thread(ft4);
Thread th2=new Thread(ft5);
Thread th3=new Thread(ft6);
Thread th4=new Thread(ft4);
th1.start();
th2.start();
th3.start();
th4.start();
}
}