zoukankan      html  css  js  c++  java
  • 使用async进行结构化并发程序开发

    异步风格的函数:

    继续来学习async相关的东东,对于它其实可以用到函数上,也就是用它可以定义一个异步风格的函数,然后在该函数中再来调用普通的函数,下面来瞅一下:

    其实“GlobalScope.async()”就是调用咱们之前直接调用async的扩展函数,如下:

    此时我们来调用一下,这里就直接可以调用既可,而不像之前是在runBlocking中来调用的,如下:

    看一下提示:

    所以此时咱们将其放到协程中,用runBlocking:

    好,下面运行一下:

    其结果比较好理解,但是!!!其实这个代码还是有一些毛病的,咱们来分析一下:

    所以下面来看一下如何来解决。

    结构化并发程序开发:

    先来构建一个程序:

    好,比较好理解,接下来再来看一个程序,是关于父子协程的异常与取消的问题,如下:

    上面的这个程序目前还存在异常,下面来解决一下:

     

    修改如下:

    接下来再来解决最后一个错:

     

    其实是这块也得加一个泛型才行,如下:

    下面运行看一下结果:

    分析一下:

    而:

    也就是需要记住:“协程的取消总是会沿着协程层次体系向上进行传播。”,以上就是解决在async中如果出异常的一个比较好的解决方案。

  • 相关阅读:
    第二冲刺阶段第一天
    spring第二冲刺阶段第八天
    spring第二冲刺阶段第七天
    spring第二冲刺阶段第六天
    spring第二冲刺阶段第五天
    spring冲刺第二阶段第四天
    spring第二阶段冲刺第三天
    spring冲刺第二阶段第二天
    SPRING冲刺第二阶段第一天
    spring第一冲刺阶段总结200zi
  • 原文地址:https://www.cnblogs.com/webor2006/p/12076122.html
Copyright © 2011-2022 走看看