環境介紹
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 "線程已啟動..."; }