Kotlin 协程学习教程之普通易懂篇

源码 2024-9-7 01:57:31 50 0 来自 中国
弁言

协程并非Kotlin独有的,协程的概念在很早很早之前就有了,现在也有许多语言支持协程,本文以什么是协程、Android开辟时怎样利用协程为探究重点,并不涉及非常深入的探究。
什么是进程

进程大抵便是APP的启动实例
什么是线程

线程属于进程,是最小的使命执行单元,一个进程有且只有一个主线程(在Android上就是UI线程)、多少子线程
什么是并发、异步

并发就是进程同一时间并行处理处罚多个使命,异步是处理处罚并发的方式
什么是协程

java处理处罚并发时必须切换线程,线程是最小使命执行单元,并发时必须多个线程来处理处罚
Kotlin中的协程提供了一种全新处理处罚并发的方式(无需切换线程),轻量级的线程,可以利用它来简化异步执行的代码,它的目标就是在包管主线程(在Android上就是UI线程)安全的根本上处理处罚耗时使命
协程的特点


  • 轻量级的线程、开销小无本钱、 数目险些没有限定
  • 轻易控制生命周期
  • 用同步的方式去表达异步
  • 依靠于当火线程,线程竣事,协程也会竣事
  • 运行在单线程中的并发处理处罚
为什么利用协程


  • 克制了线程间的切换、调理、数据通报导致的性能、资源浪费
什么是suspend(协程的核心)

被suspend标记的函数称为可挂起函数,此类函数必须在协程中大概别的一个suspend标记的函数中调用,协程代码块中遇到suspend函数,会将该函数挂起执行(可以理解为当火线程中捏造一个子线程来执行挂起函数=异步,并没有切换线程也不会壅闭当火线程),挂起函数执行完毕以后,继续执行剩余协程代码块中代码,这是协程实现异步的核心!
GlobalScope.launch是开启协程的一种方式,反面会讲到协程的用法,这里仅为理解suspend函数之用
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 18:36, Processed in 0.177197 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表