package com.wondream.myframework.app.basictest.thread; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.jupiter.api.Test; class Thread1 extends Thread{ public void run() { ThreadUseTest.logger.info("Thread1"); } } class Thread2 implements Runnable { public void run() { ThreadUseTest.logger.info("Thread2"); } } // 局部匿名内部类要使用局部变量,局部变量必须是final类型 public class ThreadUseTest { public static final Log logger = LogFactory.getLog(ThreadUseTest.class); @Test public void execute(){ // 第一种:继承Thread类使用线程 Thread thread1 = new Thread1(); thread1.start(); // 第二种:实现Runnable接口使用线程 Thread thread2 = new Thread(new Thread2()); thread2.start(); // 第三种:使用Thread匿名内部类 Thread thread3 = new Thread(){ public void run(){ ThreadUseTest.logger.info("Thread3"); } }; thread3.start(); // 第四种:使用Runnable匿名内部类 Thread thread4 = new Thread(new Runnable() { public void run() { ThreadUseTest.logger.info("Thread4"); } }); thread4.start(); } }