Java8使用實現Runnable接口方式創建新線程的方法


環境介紹

JDK版本:1.8

開發架構:spring boot 2.x

日志:slf4j

實現步驟

Runnable接口中只有一個run()方法,它是非Thread類子類的類提供的一種激活方式。一個類實現Runnable接口后,並不代表該類是一個“線程”類,不能直接運行,必須通過Thread實例才能創建並運行線程。

通過Runnable接口創建線程的步驟如下:

1、定義實現Runnable接口的類,並實現該類中的run()方法。

2、建立一個Thread對象,並將實現的Runnable接口的類的對象作為參數傳入Thread類的構造方法。

3、通過Thread類中的start()方法啟動線程,並運行。

Runnable實現類代碼

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * Runnable實現類
 */
public class ImportAddWeatherTaskAction implements Runnable {
    //日志
    private final static Logger logger = LoggerFactory.getLogger(ImportAddWeatherTaskAction.class);
    //定義線程
    private Thread t;
    private String threadName;
    //構造函數
    public ImportAddWeatherTaskAction(String threadName) {
        this.threadName = threadName;
    }
    
    public void start() {
        if (t == null) {
            t = new Thread (this, threadName);
            t.start();
        }
    }

    public void run(){
        logger.info("線程開始運行:" + threadName);
        //這里寫在新線程中要實現的邏輯
        logger.info("線程執行結束!");
    }
}

調用線程實現類

/**
 * 調用線程實現類(在其他服務實現類中編寫此方法)
 */
public String importAddWeatherData(){
    //實現化
    ImportAddWeatherTaskAction R1 = new ImportAddWeatherTaskAction("線程名稱");
    R1.start();
    return "線程已啟動...";
}

 


免責聲明!

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



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