当前位置: 首页 > news >正文

网站建设企业谁家好wordpress侧边栏美化

网站建设企业谁家好,wordpress侧边栏美化,崆峒区建设局网站,产品外观设计收费标准Kotlin协程 背景定义实践GlobalScope.launchrunBlocking业务实践 背景 在项目实践过程中#xff0c;笔者发现很多异步或者耗时的操作#xff0c;都使用了Kotlin中的协程#xff0c;所以特地研究了一番。 定义 关于协程#xff08;Coroutine#xff09;#xff0c;其实… Kotlin协程 背景定义实践GlobalScope.launchrunBlocking业务实践 背景 在项目实践过程中笔者发现很多异步或者耗时的操作都使用了Kotlin中的协程所以特地研究了一番。 定义 关于协程Coroutine其实更多的应该是一种并发设计模式。与传统的线程或进程相比协程更加轻量级因为它运行在线程之上在执行过程中可以主动地暂停并在需要时恢复执行。而且这些切换操作是在操作系统中的用户态完成的。 实践 引入maven依赖 dependencygroupIdorg.jetbrains.kotlinx/groupIdartifactIdkotlinx-coroutines-core/artifactId /dependency两种启动模式 runBlockingGlobalScope.launch GlobalScope.launch 在 GlobalScope.launch 中启动的协程不会阻塞主线程。主线程会继续执行而协程会在后台执行。在上述例子中为了演示效果使用了 Thread.sleep(2000) 来模拟等待协程执行。 其中launch 是一个函数用于创建协程并将其函数主体的执行分派给相应的调度程序。 fun main() {// 启动协程GlobalScope.launch {delay(2000) // 挂起协程模拟异步操作println(World!)}println(Hello,)Thread.sleep(4000) // 阻塞主线程等待协程执行完毕 }runBlocking 在 runBlocking 中启动的协程会阻塞当前线程直到所有启动的协程都执行完毕。 fun main() runBlocking {// 在 runBlocking 作用域内启动协程launch {// 协程代码println(Inside coroutine)}// 主线程继续执行println(Outside coroutine)// 阻塞主线程等待协程执行完毕 }业务实践 Dispatchers.IO Kotlin提供的协程调度方式指示此协程应在为 I/O 操作预留的线程上执行适合在主线程之外执行磁盘或网络 I/O。Dispatchers.Main 使用此调度程序可在主线程上运行协程。在官方文档介绍中主要用于安卓开发中与界面交互和执行快速工作。Dispatchers.Default 适合在主线程之外执行占用大量 CPU 资源的工作。 private fun sendRefundHttpPost(weChatPayRefundUrl: String, xmlRequestData: String): MapString, String runBlocking {// 启用协程发送退款操作returnrunBlocking withContext(Dispatchers.IO) {val responseXmlStr careWeChatHttps.postXmlForString(weChatPayRefundUrl, xmlRequestData)WXPayUtil.xmlToMap(responseXmlStr)}}private fun getSchoolDate(allTeacherIds: SetString): WildSchoolData runBlocking {// 涉及统计的allTeacherIds 数量比较大, 创建异步任务去操作val elements allTeacherIds.chunked(60).map {async(Dispatchers.Default) {val totalCount teacherPerformanceServiceApi.getTeachersTotalPerformanceCount(it).performanceCountval currentWeekCount teacherPerformanceServiceApi.getTeachersCurrentWeekPerformanceCountByByRangeTime(it).performanceCountWildSchoolData(totalCount, currentWeekCount)}}// 调用await等待异步任务结束returnrunBlocking WildSchoolData(elements.awaitAll().sumBy { it.totalCount }, elements.awaitAll().sumBy { it.currentWeekCount })}fun savePoint(pagePointVo: PagePointVo): Any {// 启用协程执行一个操作流水的插入, 不影响其他操作GlobalScope.launch(context Dispatchers.IO) {val pagePoint PagePoint().apply {this.schoolId pagePointVo.schoolIdthis.userId pagePointVo.userIdthis.userRole pagePointVo.userRolethis.moduleKey pagePointVo.moduleKeythis.eventId pagePointVo.eventIdthis.clickTime Date()}pagePointMapper.insert(pagePoint)}// 其他操作}
http://www.dnsts.com.cn/news/3348.html

相关文章:

  • 自助搜优惠券网站怎么做的网站开发从整体上
  • 电子商务网站设计分析怎么做广州 网站建设公司
  • 晋中市住房与城乡建设厅网站湖南旅游
  • 济宁网站建设哪家便宜江门网站推广设计
  • 传媒网站源码带手机建设部中国建造师网查询
  • 域名拍卖网站婚礼礼网站如何做的
  • 搭积木建网站软件建网站需要哪些技术
  • 帝国cms网站地图生成器怎么接外贸订单
  • 建站工具搭建前台网站wordpress网页psd下载
  • qq查冻结网站怎么做什么是网络营销?网络营销与电商营销有什么区别?
  • 万远翔网站建设建什么网站能百度收录
  • wordpress网站防采集威海seo公司
  • 河北建设厅网站电话建筑网站绿地新里城
  • 广州网站平台怎么做中铁建设集团有限公司领导名单
  • 做网站在哪里买空间域名商城网站实例
  • html mip 网站千海网站建设 小程序
  • 丹寇服饰官方网站百度收录网站要多久
  • 特殊教育学校网站建设方案WordPress建立文档系统
  • 南京医院网站建设网站建设多少钱专业
  • 网站开发的基本语言搜素引擎排名优化技术
  • ppt怎么做网站网页制作工作描述
  • 网站设计套用模板wordpress 非小工具形式 微博秀
  • 兼职做网站的费用中国制造网外贸网官网登录
  • 在线生成网站地图营销软文200字
  • 张家界建设网站公司app和网站趋势
  • 网站建设教论坛网站建设模板的
  • 多语种网站制作街景地图手机版下载
  • 做网站流量是什么阿里巴巴网站建设的背景
  • 如何免费建设自己稳定的网站内蒙古呼和浩特市邮编
  • 宿迁市网站建设网站 备案 中国 名字吗