协程
个人理解 就是在用户空间,实现了自定义的调度器(调度协程执行,记录上下文),去调度协程的执行。 协程好像还可以主动让出,那么这个调度器就是协程本身吗 作用场景 1. 会避免线程的阻塞带来的上下文切换,阻塞后用户空间切到另一任务而避免了线程上下文的切换 2. 既然同一时间只能有一个协程任务运行,并且协程切换并不是系统态抢占式,那么协程一定是安全的:协程的任务不会在执行的一半,被打断(没有时间片类似机制),协程内部是要不要加锁看情况 看下面文章 如果在需要原子性的中途主动让出,那肯定是要加锁的 要不要加锁看自己的程序逻辑 协程是运行在一个线程上的,要不要加锁看协程让出执行权的执行流有没有数据竞争 python 中awit 后执行哪个协程任务是像js一样的eventloop吗 好像是的 协程和js的单线程非阻塞io加事件机制还挺像的,都是解决处理需要长时间等待的异步操作,比如 I/O 操作,只是协程好像在协作方面更完善好像,有上下文 https://segmentfault.com/a/1190000041568839