背景
随着Kotlin的蓬勃发展,在StackOverflow网站的统计中,最受开发者欢迎的编程语言排行榜,Kotlin得到了72.6%的高比例支持。
Kotlin1.3协程正式发布,这意味着自Kotlin1.3起,协程的语言支持与API已完全稳定。
协程简介
协程官方定义
协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(甚至不同机器)上调度执行,而代码则保持如同顺序执行一样简单。
协程相对于线程的有点:
在Android中新建一个线程,大约需要消耗1M的内存,如果使用线程池,线程间数据的同步是一个非长复杂的事情,所以就有了协程:
- 可以看作是轻量级线程,创建一个协程的成本很低
- 可以轻松的挂起和恢复操作
- 支持阻塞线程的协程和不阻塞线程的协程
- 可以更好的实现异步和并发
简单的理解就是,可以极大程度的简化异步操作,可以顺序地表达程序,协程也提供了一种避免阻塞线程并