Kotlin协程

1.什么是协程

协程就是一套基于线程的上层框架(一个线程框架)

2.优点

方便 ---在同一个代码块进行多次的线程切换(withContext)

3.挂起 suspend

image.png

挂起:稍后会被自动切回来的线程切换

协程的挂起本质是切线程

例子:自定义一个挂起函数 仍在主线程 未切换 因为不知道如何切换


image.png

suspend作用:提醒(函数的创建者对函数的调用者的提醒--我是一个耗时操作),可以让主线程不卡

如何自定义一个suspend函数

什么时候自定义:

原则:耗时(I/O操作,CPU计算工作)

怎么写

给函数加上suspend 然后用withContext
也可以用delay 比如等待类型的挂起函数


image.png

4.非阻塞式

非阻塞式挂起:不卡线程

(看起来阻塞的代码 写出非阻塞的操作)

协程不一定比线程轻量级


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容