1. 程式人生 > >線程--匿名內部類實現多線程的2種方式

線程--匿名內部類實現多線程的2種方式

back public override int color light 子類重寫 指向 線程

眾所周知,Thread是繼承了Runnable接口並重寫run方法實現了線程。那麽如果在匿名內部類中如何使用線程,並開啟線程呢?

public class Test {
	public static void main(String[] args) {
		//Thread實現的匿名內部類
		new Thread(){
			@Override
			public void run() {
				System.out.println("aaa");
			}
		}.start();
		
		
		//Runnable實習匿名內部類
		Runnable runnable = new Runnable(){
			@Override
			public void run() {
				System.out.println("bbb");
				
			}
			
		};
		new Thread(runnable).start();
		
	}
}

Thread實現代碼分析:

  new Thread類,重寫run方法,相當於得到Thread子類對象,並重寫Thread中的run方法,進而.start開啟線程。

Runnable實現代碼分析:

  new Runnable接口,重寫run方法,相當於得到Runnable子類,run 方法相當於子類重寫Runnable接口中的run方法,返回一個Runnable引用。實則為父類引用指向子類對象。

  而開啟時,需要使用Thread類中Thread(Runnable target) 構造方法,得到Thread對象後,再.start開啟線程。

線程--匿名內部類實現多線程的2種方式