协程       

协程

协程是一种进程自身来调度任务的调度模式。协程与线程不同之处在于,线程由内核调度,而协程的调度是进程自身完成的。协程只是一种抽象,最终的执行者是线程,每个线程只能同时执行一个协程,但大量的协程可以只拥有少量几个线程执行者,协程的调度器负责决定当前线程在执行哪个协程,其余协程处于休眠并被调度器保存在内存中

image-20201224105916229

image-20201224105235107

异步编程最佳的实现方式是:“Codes Like Sync,Works Like Async”,即以同步的方式编码,达到异步的效果与性能

如果用future实现的话,要future.get(),线程会阻塞住,用协程的话,该线程可以执行其他协程

参考

https://www.infoq.cn/article/umyqimhkwiyjhbp05mxb