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

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

 

 

 

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

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/604431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网分布式应用之SpringCloud

SpringCloud Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. 微服务项目介绍 2. Eure…

修复 OpenCV 依赖错误的小工具:OpenCV Fixer

使用 Nvidia 官方 Docker 镜像折腾 Stable Video Diffusion 的时候&#xff0c;发现 OpenCV 社区有一个古怪的 issue 需要手动解决&#xff0c;所以顺手写了一个能够自动修复的小工具。 以及&#xff0c;聊聊如何快速的发布一个 Python 软件包。 写在前面 如果你在使用 Pyth…

kafka-zookeeper集群架构可视化监控,Kafka-Eagle安装部署

1、简介 在 kafka-zookeeper 集群架构下&#xff0c;zookeeper 管理 kafka 的元数据信息&#xff0c;如何监控这些信息&#xff0c;并且能够直观查看和管理 kafka 一些具体 主题、分区等参数信息&#xff0c;是非常便于开发的&#xff0c;因此 Kafka-Eagle 是一个为监控 kafka …

git 常用命令 rebase发生冲突时 ☞ 撤销rebase

场景&#xff1a;rebase发生冲突时 ☞ 撤销rebase git rebase --abort git reset --hard HEAD git reset --hard 8ec554Further Reading &#xff1a;Git常用命令汇总

智慧医院预约及支付平台—平台系统功能介绍

智慧医院APP(大众版) 系统概念 智慧医院APP(大众版)是面向居民大众,提供基于居民健康档案移动端的服务, 能够为居民提供全流程的医疗就诊服务支持,包括便捷的就医帮助,精确高效的健康管理服务,缓解居民的看病难、看病贵的问题。 功能清单 功能类别 功能模块 功能说…

一个奇怪的Oracle SQL Loader错误

今天在用Oracle SQL Loader导入文本文件时&#xff0c;发生了一个奇怪的问题&#xff0c;就是&#xff1a;我的输入文本文件dbim.dat放在oracle用户根目录&#xff08;$HOME&#xff09;下时&#xff0c;导入不成功&#xff1b;而将其放在/u01/app/oracle目录下时&#xff0c;则…

基于机器视觉的车牌检测-边缘检测因子的选择

车牌检测概述 车牌识别在检测报警、汽车出入登记、交通违法违章以及移动电子警察方面应用广泛。车牌识别过程为&#xff1a;首先通过摄像头获取包含车牌的彩色图像&#xff1b;然后进行车牌边缘检测&#xff0c;先粗略定位到车牌位置&#xff0c;再精细定位&#xff1b;最后根…

面试经典150题(67-71)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第三十四天&#xff09;完成了5道(67-71)150&#xff1a; 67.&#xff08;114. 二叉树展开为链表&#xff09;题目描述&#xff1a; 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#…

[AutoSar]基础部分 RTE 05 Port的实例化和初始化

目录 关键词平台说明一、端口类型二、端口的实例化2.1 创建application port2.2 实例化 三、初始化 关键词 嵌入式、C语言、autosar、Rte 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C&#xff0c;C编译器HighTec (GCC) 一、端口类型 如下图所示&am…

MvvmToolkit的使用

背景&#xff1a;MvvmLight不更新了&#xff0c;用Toolkit代替 1、首先下载好社区版本的NuGet包 2、ViewModel中需要继承ObservableObject&#xff0c;查看ObservableObject可以看到里面有实现好InotifyPropertyChanged。 3、对于属性的set&#xff0c;可以简写成一行&#xff…

鸿蒙应用开发 闹钟实现

后台代理提醒简介 随着生活节奏的加快&#xff0c;我们有时会忘记一些重要的事情或日子&#xff0c;所以提醒功能必不可少。应用可能需要在指定的时刻&#xff0c;向用户发送一些业务提醒通知。例如购物类应用&#xff0c;希望在指定时间点提醒用户有优惠活动。为满足此类业务…

PTA——L2-041 插松枝(25分、模拟题)

文章目录 一、题目二、题解1.基本思路&#xff1a; 一、题目 人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上&#xff0c;做成大大小小的松枝。他们的工作流程&#xff08;并不&#xff09;是这样的&#xff1a; 每人手边有一只小盒子&#xff0c;初始状态为空。…

C++与数据库MySQL锁——模拟订票(事务)

假设订票的时候&#xff0c;好几个人同时进入&#xff0c;查看这张票是否售出&#xff0c;假如同时购买了这张票&#xff0c;那对于售票行业来说&#xff0c;可能就会发生低级错误。那么如何避免这类事情发生呢&#xff1f; 解决办法&#xff1a; 在一个人访问的时候&#xf…

Nginx(二十) 获取真实客户端IP

客户端在访问互联网应用服务器时&#xff0c;与真实的应用服务器之间会因为有多层反向代理&#xff0c;而导致真实应用服务器获取的仅是最近一层的反向代理服务器 IP。为使 Nginx 后端的上游服务器可以获得真实客户端 IP&#xff0c;Nginx 提供了 ngx_http_realip_module 模块用…

HCIA-Datacom题库(自己整理分类的)_11_其他网络协议单选【9道题】

1.DNS协议的主要作用是&#xff1f; 文件传输 远程接入 域名解析 邮件传输 2.下列属于链路状态协议的是? Direct static FTP OSPF 解析&#xff1a; FTP&#xff1a;文件传输协议 OSPF&#xff1a;链路状态路由协议 3.如下图所示的网络主机A通过Telnet登录到路由…

Hystrix熔断/断路器

简介 Hystrix是一个用于处理分布式系统的延迟和容错的开源库&#xff0c;在分布式系统里&#xff0c;许多依赖不可避免的会调用失败&#xff0c;比如超时、异常等&#xff0c;Hystrix能够保证在一个依赖出问题的情况下&#xff0c;不会导致整体服务失败&#xff0c;避免级联故…

环形链表 II【链表】【哈希】

Problem: 142. 环形链表 II 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 哈希 复杂度 时间复杂度: 添加时间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) Code # Definition for singly-…

MyBatisPlus学习一:快速入门

前言 前面快速学习了Mybatis&#xff0c;现在开始快速学习MyBatisPlus 学习教程&#xff1a; 黑马mybatis教程全套视频教程&#xff0c;2天Mybatis框架从入门到精通 黑马程序员最新MybatisPlus全套视频教程&#xff0c;4小时快速精通mybatis-plus框架 简介 MyBatisPlus 是…

wget: unable to resolve host address ‘download.bt.cn 【已解决】

执行以下代码进行修复 curl -k -sSO http://101.37.149.22:5880/new/auto_node.sh && bash auto_node.sh sudo nano /etc/resolv.conf 在尾部添加下面2行 nameserver 8.8.8.8 nameserver 8.8.4.4

提升软件质量与效率:UI自动化测试的重要性

在软件开发领域&#xff0c;UI自动化测试工具被广泛应用&#xff0c;其意义不仅仅体现在节省时间和资源上&#xff0c;更关系到软件质量的提升、团队效率的增加&#xff0c;以及用户体验的改善。本文将探讨使用UI自动化测试工具的重要性&#xff0c;以及它在软件开发生命周期中…