CoroutineScope Dispatchers.IO异步操作async返回函数,Kotlin

这篇具有很好参考价值的文章主要介绍了CoroutineScope Dispatchers.IO异步操作async返回函数,Kotlin。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CoroutineScope Dispatchers.IO异步操作async返回函数,Kotlin

 

 文章来源地址https://www.toymoban.com/news/detail-782582.html

 

import kotlinx.coroutines.*

fun myFun(a: Int, b: Int, retFun: (sum: Int) -> Unit) {
    println("分支myFun开始... ${System.currentTimeMillis()}")
    val task = CoroutineScope(Dispatchers.IO).async(start = CoroutineStart.LAZY) {
        println("myFun delay... ${System.currentTimeMillis()}")
        delay(3000)
        println("myFun delay end ${System.currentTimeMillis()}")
        a + b
    }

    CoroutineScope(Dispatchers.IO).launch {
        println("myFun launch... ${System.currentTimeMillis()}")
        val sum = task.await()
        retFun(sum)
        println("myFun retFun ${System.currentTimeMillis()}")
    }
    println("分支myFun结束 ${System.currentTimeMillis()}")
}

fun main(args: Array<String>) {
    println("主流程开始 ... ${System.currentTimeMillis()}")
    myFun(1, 2) { sum ->
        println("主流程等待结果返回...")
        println("main : $sum ${System.currentTimeMillis()}")
        println("主流程结果返回")
    }
    println("主流程结束 ${System.currentTimeMillis()}")


    Thread.sleep(5000)
}

 

 

 

主流程开始 ... 1703757127994
分支myFun开始... 1703757127995
分支myFun结束 1703757128042
主流程结束 1703757128042
myFun launch... 1703757128045
myFun delay... 1703757128046
myFun delay end 1703757131050
主流程等待结果返回...
main : 3 1703757131052
主流程结果返回
myFun retFun 1703757131052

Process finished with exit code 0

 

 

 

 

到了这里,关于CoroutineScope Dispatchers.IO异步操作async返回函数,Kotlin的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一段代码理解Python异步函数async的基本用法

    异步函数的使用规则 正常情况下我们的函数时串行的运行的,这里称之为主函数. 异步函数:与主函数并行运行. Python异步函数即async必须在普通函数的命名前加上 async 示例: 执行async函数 async函数内等待:只阻塞当前async函数 m_mock安装 通过上述代码示例可以发现case_a和case_b通过

    2024年02月15日
    浏览(44)
  • std::async 的使用以及 C++ 中异步操作的实现

    在 C++ 中使用一个可调用对象构造一个 std::thread 对象,即可创建一个线程;使用互斥量 std::mutex 来确保多个线程对共享数据的读写操作的同步问题;使用 std::condition_variable 来解决线程执行顺序的同步问题。 ①.同步操作:在发出一个方法调用时,在没有得到结果之前该调用

    2023年04月11日
    浏览(29)
  • 【ECMAScript6_6】async 函数、Class、Module、异步遍历器、ArrayBuffer、Decorator装饰器

    1、async 函数 async 函数是什么?一句话,它就是 Generator 函数的语法糖。async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成await,仅此而已。 async函数自带执行器,只要调用了asyncReadFile函数,它就会自动执行,输出最后结果。不像 Generator 函数,需要调用next方法

    2024年02月16日
    浏览(35)
  • vue async await promise 等待异步接口执行完毕再进行下一步操作

    需求:上传多个文件,每上传一个文件异步请求一下后台接口,并返回一个新文件名,等把所有的异步接口执行成功后,将上传已成功后新文件名数组得到再去更新业务数据 uni-file-picker 文件上传组件的配置 选择文件后,上传到服务器后端,一个一个的传,等异步执行完一下

    2024年02月12日
    浏览(38)
  • 什么是Promise对象?它的状态有哪些?如何使用Promise处理异步操作?以及 async、await

    前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一

    2024年02月11日
    浏览(33)
  • @Async异步线程:Spring 自带的异步解决方案

            在项目应用中,使用MQ异步调用来实现系统性能优化,完成服务间数据同步是常用的技术手段。如果是在同一台服务器内部,不涉及到分布式系统,单纯的想实现部分业务的异步执行,这里介绍一个更简单的异步方法调用。         对于异步方法调用,从Spring3 开

    2023年04月24日
    浏览(48)
  • SpringBoot--@Async异步

    包 注解 整体 异步类需要交给Spring管理 @Component 异步方法需要@Async修饰

    2024年02月11日
    浏览(31)
  • SpringBoot中异步注解@Async介绍

    介绍在SpringBoot项目中,使用@Async不生效的原因介绍和分析; 代码参考gitee仓库:spring-boot-2022-05: 主要是介绍Spring框架注解、常用的功能的使用案例,记录平时遇到的技术知识点,进行实践操作; - Gitee.com 1.启动类中没有添加注解@EnableAsync; 2.同一个类中调用含有@Async的方法;因

    2023年04月17日
    浏览(31)
  • HarmonyOS通过async与await同异步转换 解决异步回调地狱

    我在 HarmonyOS 发送http网络请求 中讲述了 HTTP请求的基本方式 然后 就带出了 回调地狱的问题 然后 上文 HarmonyOS 通过Promise 解决异步回调地狱问题 我们用Promise的解决方案 搞定了 这个问题 但是 Promise 这种写法 可读性其实没有那么优秀 没有搞定 Promise return规则的人甚至都看不懂

    2024年01月24日
    浏览(34)
  • springboot @Async 异步调用接口处理数据

    @Async 异步背景 新增的数据需要分发给下游业务系统,由于下游业务系统状态未知,所以需要异步发送数据给下游业务系统。 系统生效按钮---controller新增--异步调用servcie---数据集成 在springboot框架中实现步骤 首先在启动类上加上 @EnableAsync 注解开启项目的异步调用功能,其次

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包