接口继承


ApplicationRunner

springBoot项目启动时,代码自启动

@Component
@Order(1)
public class HJ212Server implements ApplicationRunner {

    @Override
    public void run(ApplicationArguments args) {
        runEPServer();
    }

    /**
     * 启动服务
     */
    public static void runEPServer(){
        //相关操作,需要系统启动时自行运行的代码
    }
}

若有多个代码段需要执行,可用@Order注解设置执行的顺序。

线程

方式一:继承Thread类

  1. 定义子类继承Thread类。

  2. 子类中重写Thread类中的run方法。

  3. 创建Thread子类对象,即创建了线程对象。

  4. 调用线程对象start方法:启动线程,调用run方法。

注意点:

  1. 如果自己手动调用run()方法,那么就只是普通方法,没有启动多线程模式。

  2. run()方法由JVM调用,什么时候调用,执行的过程控制都有操作系统CPU调度决定。

  3. 想要启动多线程,必须调用start方法。

  4. 一个线程对象只能调用一次start()方法启动,如果重复调用了,则将抛出以上的异常 “IllegalThreadStateException”。

方式二:实现Runnable接口

  1. 定义子类,实现Runnable接口。

  2. 子类中重写Runnable接口中的run方法。

  3. 通过Thread类含参构造器创建线程对象。

  4. 将Runnable接口的子类对象作为实际参数传递给Thread类的构造器中。

  5. 调用Thread类的start方法:开启线程,调用Runnable子类接口的run方法。


文章作者: Luan-bx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Luan-bx !
  目录