在java的程序中使用多线程有两种方式,1种是继承 Thread 类(extends Thread) ,另一种是实现Runnable 接口(implements Runnable),
使用方式如下
第一种是extends Thread
public class MyThread extends Thread{
private int a=20;
public MyThread(){}
public void run(){
for(int i=0;i<a;i++){
System.out.pprintln(i);
}
}
}
public class Main{
public static void main(String[] args){
MyThread mt=new MyThread();
mt.start();
}
使用第二种 implements Runnable
<pre name="code" class="java"><pre name="code" class="java">public class MyThread implements Rnuable{
private int a=20;
public void run(){
for(int i=0:i<a;i++){
System.out.println(I);
}
}
}
public class Main{
public static void main(String[] args){
MyThread my=new MyThread();
new Thread(my).start();
}
}
两种的方法的使用就是这样,但是如果看源码的话可以知道 Thread 类 其实也是实现了 Runnable接口的 ,如果使用的线程的话,还是用实现Runnable 接口的方法会好一点,一个是根据java的规则一个类可以实现多个接口,单继承,只能继承一个类。另一个是使用接口的方法可以让资源共享。比如下面的代码
<pre name="code" class="java">public class MyThread implements Rnuable{
private int a=20;
public void run(){
for(int i=0:i<a;i++){
System.out.println(I);
}
}
}
public class Main{
public static void main(String[] args){
MyThread mt=new MyThread();
new Thread(mt).start();
new Thread(mt).start();
new Thread(mt).start();
}
}
可以使用同一个资源mt对象开三条线程。如果用继承的方法就不能有这种效果。