線程--線程建立與Thread類

建立線程的兩種方法:java

  1. 繼承thread類:ide

    1>定義類繼承Thread。

        2>複寫Thread類中的run方法。spa

            目的:將自定義代碼存儲在run方法。讓線程運行。線程

        3>調用線程的start方法,該方法兩個做用:啓動線程,調用run方法。code

class ThreadTest extends Thread{
	@Override
	public void run() {
		// TODO Auto-generated method stub
		while(true){
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println(Thread.currentThread().getName());
		}
	}
}

該類就定義了一個功能,用於存儲線程要運行的代碼。該存儲功能就是run方法。對象

也就是說Thread類中的run方法,用於存儲線程要運行的代碼繼承

2.實現runnable接口接口

    1>定義類實現Runnable接口get

    2>覆蓋Runnable接口中的run方法,將線程要運行的代碼存放在該run方法中。io

    3>經過Thread類創建線程對象。

class Ticket implements Runnable//extends Thread
{
	private  int tick = 100;
	public void run()
	{
		while(true)
		{
			if(tick>0)
			{
				System.out.println(Thread.currentThread().getName()+"....sale : "+ tick--);
			}
		}
	}
}

或者new Thread(new Runnable(  run(){} )).start();    //將其做爲參數傳遞給Thread類


實現方式好處:避免了單繼承的侷限性。

在定義線程時,建議使用實現方式。


兩種方式區別:

繼承Thread:線程代碼存放Thread子類run方法中。

實現Runnable,線程代碼存在接口的子類的run方法。

相關文章
相關標籤/搜索