java基礎-多執行緒-thread類、runnable介面
阿新 • • 發佈:2021-07-09
願歷盡千帆,歸來仍是少年
多執行緒:thread、runnable廢話不多說,直接上demo
Thread類:
@ApiOperation(value = "basic執行緒測試-Thread", notes = "basic執行緒測試-Thread") @GetMapping(value = "/startThread") public Response startThread(){ // Thread類 // 新狀態 BasicThread t1 = new BasicThread("張三"); BasicThread t2= new BasicThread("李四"); // 可執行狀態 t1.start(); t2.start(); return Response.ok(); }
/** * 基礎執行緒測試 * * @author hxx * @version 1.0 * @date 2021/7/9 10:29 */ public class BasicThread extends Thread { public static Logger logger = LogManager.getLogger(BasicThread.class); public BasicThread (String param) { super(param); } public void run() { logger.info("BasicThread start!!!"); // 執行態 for (int i = 0; i < 1000; i++) { System.out.println(this.getName() + ":" + i); } // 死亡態 } }
Runnable介面:
@ApiOperation(value = "basic執行緒測試-runnable", notes = "basic執行緒測試-runnable") @GetMapping(value= "/startRunnableThread") public Response startRunnableThread(){ // Runnable介面 BasicRunnable a1 = new BasicRunnable("張三"); BasicRunnable a2 = new BasicRunnable("李四"); // 新狀態 Thread t1 = new Thread(a1); Thread t2 = new Thread(a2); // 可執行狀態 t1.start(); t2.start(); return Response.ok(); }
/** * @author hxx * @version 1.0 * @date 2021/7/9 10:48 */ public class BasicRunnable implements Runnable { public static Logger logger = LogManager.getLogger(BasicRunnable.class); private String param; public BasicRunnable(String param) { this.param = param; } @Override public void run() { logger.info("BasicRunnable Start!!!"); // 執行態 for (int i = 0; i < 1000; i++) { System.out.println(param + ":" + i); } // 死亡態 } }