JAVA 线程的两种基本实现方法(继承Thread类和实现Runnable接口)

时间:2022-09-23 17:35:26

线程的两种基本实现方法:

1.继承Thread类
2.实现Runnable接口

推荐使用Runnable接口,基于以下四点:

 1.使用 Runnable 接口适合多个相同程序代码的线程去处理同一资源的情况,
    把虚拟CPU(线程)同程序的代码,数据有效的分离,较好地体现了面向对象的设计思想。 
 2.继承Thread类有一个缺点就是单继承,而实现Runnable接口则弥补了它的缺点,可以实现多继承。
 3.有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。
 4.使用 Runnable 接口来实现多线程使得我们能够在一个类中包容所有的代码,有利于封装。

具体代码实现:

//线程的测试类
public class testThread{
public static void main(String args[]){
Thread thread1=new threadOne("one");
Thread thread2=new threadTwo("two");
thread1.start();
thread2.start();
}
}

//方法一
//通过继承Thread类来构建线程
//需要覆盖run()方法
class threadOne extends Thread{
String name;
threadOne(String name)
{
this.name=name;
}
public void run()
{
for(int i=0;i<=9;i++)
System.out.println("Current thread is "+name);
}
}

//方法二
//通过实现Runnable接口来构建线程
//需要覆盖run()方法
class threadTwo implements Runnable{
String name;
threadTwo(String name)
{
this.name=name;
}
public void run()
{
for(int i=0;i<=9;i++)
System.out.println("Current thread is "+name);
}
}