songhuirong1:协程减少了线程切换,一个线程里可以产生10w个左右的协程,在单线程里协程的切换代价是非常小的。
(2015-12-01 12:25)
CPU的最小执行单位是线程,单线程里十万个协程,也就一个在工作,利用不了并行优势。
对于高运算的程序,协程除了增加调度开销并没有优势的。
对于I/O操作较多的程序才有用,因为I/O太慢。而对应I/O操作,异步相对与协程开销更小,效率也更高的。
Cpp也有协程库,有的还是基于asio实现的,很多底层也是事件循环的。
而Qt本身就是事件循环的,多数I/O也是异步的,为什么不先考虑利用好异步和事件循环去优化。