【 在 finlab 的大作中提到: 】
: 协程很多场合是为了节省线程切换的成本,提高cpu的利用率。
: 但是经常把一个事情劈成两半,绕了半天还是要再捏到一起。
: 既然协程这么流行,那就不如在cpu和操作系统、编译器层面进行优化,
: ...................
协程和进程线程是不同的东西,
协程最大的有点有二
首选, 协程节省切换开销, 这个是最明显的好处, 但不是最大的。
最主要的好处是, 它不像线程, 线程是抢占式的多任务, 而协程是协同多任务,
抢占多任务, 虽然简单粗暴, 但是增加了时间片的来回抢夺开销。
而协同多任务, 不仅没有时间片导致的, 抢夺切换, 就是协同切换也可以有具体的应用逻辑来控制,
所以, 可以有最好的性能。当然, 坏处就是会增加程序设计的难度和复杂度。
目前的协程模型, asyn await 方式, 确实设计的简洁, 但是不优美, 甚至有时给一部分程序员
带来理解困难。
--
FROM 115.171.244.*