kotlin协程与线程的区别:
1) 一个线程可以多个协程,一个进程也可以单独拥有多个协程。
2) 线程是同步机制,而协程则是异步。
3) 协程能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次调用的状态。
4)线程是抢占式,而协程是非抢占式的。
5)协程的栈空间是可以动态调整的,线程的栈空间是固定大小的。
6)线程是操作系统调度,协程是应用系统自己调度。
协程是一种“轻量级线程“,从Kotlin 1.1开始引入。由于一些耗时操作(如网络IO、文件 IO、CPU或GPU密集型任务)会使线程阻塞直到操作完成,协程提供了一种避免线程阻塞、开销更小且更加可控的异步操作。