线程的实现方式——多线程技术二

本文主要介绍关于线程如何实现的方式,主要介绍的是在jdk1.5之前的两种方式:分别是继承Thread类与实现Runnable接口。

继承Thread类:

第一种:

new Thread(){}.start();

这表示调用Thread子类对象的run方法,new Thread(){}表示一个Thread的匿名子类的实例对象,子类加上run方法后的代码如下:

new Thread(){

   public void run(){

   }

}.start();

第二种:

new Thread(newRunnable(){}).start();

这表示调用Thread对象接受的Runnable对象的run方法,new Runnable(){}表示一个Runnable的匿名子类的实例对象,runnable的子类加上run方法后的代码如下:

new Thread(newRunnable(){

               public void run(){

               }    

        }

   ).start();


具体代码测试实现:

创建两个线程,一个继承Thread类。一个实现Runnable。

package MultiThreed;

public class NumberThread extends Thread{

	public NumberThread(String string) {
		super(string);
	}
	
	@Override
	public void run() {
		for (int i = 1; i < 5000; i++) {
			System.out.println(this.getName()+":"+i);
		}
		
		
	}
}
package MultiThreed;


public class NumberThread2 implements Runnable{


	private	String name;
	public NumberThread2(String name) {
		this.name=name;
				
	}
	
	@Override
	public void run() {
		for (int i = 1; i < 5000; i++) {
			System.out.println(this.name+":"+i);
		}
		
		
	}
}

主方法:

package MultiThreed;

public class Main {

	public static void main(String[] args) {
		NumberThread t1=new NumberThread("T1");
		NumberThread2 t2=new NumberThread2("T2");
		t1.start();
		new Thread(t2).start();//还是需要调用Thread的start方法启动
		
	}
}






   



你可能感兴趣的:(java基础,多线程,线程的实现方式,继承Thread类,实现Runnable接口)