Java的几种异步任务形式(一)——利用注解

1、关于Java的几种异步处理方式
下面会分不同文章介绍.今天讲下怎么利用注解来完成Java的异步处理.

1、首先在启动类中加入这个注解:
@EnableAsync

@SpringBootApplication
@EnableAsync
public class DemoasyncApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoasyncApplication.class, args);
    }

}

2、然后再实现类中加入这个注解
@Async
代码如下:

@Service
public class HelloService {

    private static final Logger LOGGER = LoggerFactory.getLogger(HelloService.class);

    //@Async
    public void hello() {
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        //-->正常运行需要等待3s才运行-->异步之后无需等待
        LOGGER.info("数据输出,任务执行------------------");

    }
}

3、在加入注解前可以,输出任务是在程序启动后10秒执行的.
在这里插入图片描述
4、加入注解后,可以看出任务执行基本是同时执行的.
在这里插入图片描述
如图,Java注解形式的异步任务已经完成.

对于图中的报错可以忽略.因为:
interrupt方法只是改变了中断状态

sleep方法内部会不断的检查中断状态的值,从而自己抛出InterruptedException.

欲了解更多异步处理的方式,请扫描关注下方公众号:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值