码迷,mamicode.com
首页 > 编程语言 > 详细

开一个线程异步执行

时间:2020-05-31 11:28:19      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:entry   时长   runnable   rri   void   方法   一个   handle   java   

在开发中,很多时候会异步处理一些业务需求,在不影响主业务的情况下,还需要做一些附加的耗时长的操作,可以在主代码中

开一个线程(主要有三种线程):

1.new ARunnable类,实现Runnable接口,复写run方法:

public class ARunnable implements Runnable {
    private ARunnableBuss aRunnableBuss;
    private Dto dto;

    public ARunnable (ARunnableBuss aRunnableBuss, Dto dto) {
        this.aRunnableBuss= aRunnableBuss;
        this.dto= dto;
    }//有参构造

    /**
     * 执行run方法
     */
    @Override
    public void run() {
        aRunnableBuss.run1(dto);//实际处理业务的方法
    }
}

2.new ARunnableBuss实际处理业务的类,带一个run1方法:

@Service
@Slf4j
public class ARunnableBuss {
    @Autowired
    private EmailSendMsgHandle emailSendMsgHandle;  //可以注入service
public void run1(InOrderEntryDto inOrderEntryDto) { //TODO...发邮件或者其他耗时操作 } }

3.实际主业务中使用:

Runnable runn = new ARunnable(aRunnableBuss, dto);
//将Runnable接口的子类对象作为参数传递给Thread类的构造函数
Thread thread = new Thread(runn);
//开启线程处理业务
thread.start();

  

 

开一个线程异步执行

标签:entry   时长   runnable   rri   void   方法   一个   handle   java   

原文地址:https://www.cnblogs.com/wlm-boke/p/12996517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!