在Java中,多线程的实现有两种方式,一种是继承Thread,另一种是实现Runnable接口。
下面贴两段案例代码。
继承Thread类
/**
*
* @author ShuSheng
*
*/
public class TestThread extends Thread{
private String name;
public TestThread (String name){
this.name=name;
}
public void run(){
for(int i=0;i<5;i++){
System.out.println(name+":"+Thread.currentThread().getName()+"运行"+i);
}
}
public static void main(String[] args){
TestThread tt1=new TestThread("A");
TestThread tt2=new TestThread("B");
tt1.start();
tt2.start();
}
}
运行结果如下:
A:Thread-0运行0
A:Thread-0运行1
B:Thread-1运行0
B:Thread-1运行1
B:Thread-1运行2
B:Thread-1运行3
B:Thread-1运行4
A:Thread-0运行2
A:Thread-0运行3
A:Thread-0运行4
实现Runnable接口
/**
*
* @author ShuSheng
*
*/
public class TestThread implements Runnable{
private String name;
public TestThread(String name){
this.name=name;
}
public void run() {
for(int i=0;i<5;i++){
System.out.println(name+":"+Thread.currentThread().getName()+"运行"+i);
}
}
public static void main(String[] args){
TestThread tt1=new TestThread("A");
Thread t1=new Thread(tt1);
TestThread tt2=new TestThread("B");
Thread t2=new Thread(tt2);
t1.start();
t2.start();
}
}
运行结果如下:
A:Thread-0运行0
B:Thread-1运行0
B:Thread-1运行1
A:Thread-0运行1
B:Thread-1运行2
A:Thread-0运行2
B:Thread-1运行3
A:Thread-0运行3
B:Thread-1运行4
A:Thread-0运行4
B:Thread-1运行0
B:Thread-1运行1
A:Thread-0运行1
B:Thread-1运行2
A:Thread-0运行2
B:Thread-1运行3
A:Thread-0运行3
B:Thread-1运行4
A:Thread-0运行4
推荐使用实现Runnable的方式,因为java是单继承的,如果这个类需要继承其他类就好麻烦的咯。