在Java中通过线程池实现异步执行

1 什么是通过线程池实现代码的异步执行

1.1 什么是同步执行

       与异步相对的是同步,这里先解释一下同步执行,同步执行就是平时执行我们的代码,由上至下顺序执行,中间如果有异常或错误出现不会继续往下执行。这也是绝大多数代码的执行方式。比如如下代码。

    System.out.println("a");
    Thread.sleep(2000);
    System.out.println("b");
    System.out.println("c");

        这四行是同步执行的,那么在第一行执行完后,控制台会打印a,由于有Thread.sleep(2000),程序会在睡2秒后,再执行第三、四行,也就是在控制台打印b、c。最后在控制台打印的结果也是a、b、c,如下所示。

a
b
c

        而如果将Thread.sleep(2000);这一行代码改为一段会抛出异常的代码,程序将不会执行第三、四行,最终控制台也不会打印b、c。这里我用0作为除数,由程序抛出异常,代码如下。

    System.out.println("a");
    System.out.println(1 / 0);
    System.out.println("b");
    System.out.println("c");

        执行的结果是只打印了a,还有打印出来的异常信息,程序并没有执行第三、第四行,如下所示。

a
Exception 
  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值