03_線程的創建和啟動_實現Runnable接口方式


【線程的創建和啟動的步驟實現Runnable接口方式)】

1.定義Runnable接口的實現類,並重寫其中的run方法。run()方法的方法體線程執行體

   class SonThread  implement Runnable{

  public void run(){

  ......

  }

 }

2.創建Runnable接口實現類的實例。                        sonThread s1=new SonThread();

3.用該實例作為Thread的target來創建Thread對象。   Thread t1 =new Thread(s1);

4.調用該對象的start()方法啟動線程。                       t1.start();

 

【示例代碼】

package com.Higgin.part01;

//1.1定義Runnable接口的實現類
class SecondThread implements Runnable{

    //1.2重寫其中的run方法
    @Override
    public void run() {
        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"===="+i);
        }
    }
    
}
public class Demo2 {
    
    public static void main(String[] args) {
        //2.創建Runnable的接口實現類的實例
        SecondThread s1=new SecondThread();
        SecondThread s2=new SecondThread();
        //2.用Runnable的接口實現類的實例作為Thread的target,創建Thread對象
        Thread t1=new Thread(s1);
        Thread t2=new Thread(s2,"Higgin");  //創建Thread對象的同時可以為之命名
        
        //啟動線程
        t1.start();
        t2.start();
        
        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"===="+i);
        }
    }
}

【運行結果】

 

【注意一:關於命名】

在創建Thread 對象的時候可以為該Thread對象指定一個名字

【注意二:Thread的構造方法】

Runnable對象作為Thread對象的target,Runnable實現類里面包含run方法僅僅作為執行體。也就是說Thread類的作用是把run方法包裝成線程的執行體。

實際運行的線程對象依然是Thread實例,只是該Thread線程負責執行其target的run方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM