• 6548阅读
  • 7回复

Qt什么时候支持协程呢? [复制链接]

上一主题 下一主题
离线songhuirong1
 

只看楼主 倒序阅读 楼主  发表于: 2015-11-29
协程是个好东西,比多线程好多了,不知道Qt官方啥时会支持协程?
离线渡世白玉

只看该作者 1楼 发表于: 2015-11-30
协程也就在I/O操作上才有优势,Qt事件循环,本事很多I/O已经是异步了,利用好异步(虽然都说异步有点反人类思维)。
因为CPU的执行最小单位是线程,协程也只是在其之上又调度而已。
离线z55716368

只看该作者 2楼 发表于: 2015-11-30
回 渡世白玉 的帖子
渡世白玉:协程也就在I/O操作上才有优势,Qt事件循环,本事很多I/O已经是异步了,利用好异步(虽然都说异步有点反人类思维)。
因为CPU的执行最小单位是线程,协程也只是在其之上又调度而已。 (2015-11-30 09:48) 

版主的意思是不是我们可以自己对线程控制成协程的操作
每一个问题 都是一次进步
离线songhuirong1

只看该作者 3楼 发表于: 2015-12-01
回 渡世白玉 的帖子
渡世白玉:协程也就在I/O操作上才有优势,Qt事件循环,本事很多I/O已经是异步了,利用好异步(虽然都说异步有点反人类思维)。
因为CPU的执行最小单位是线程,协程也只是在其之上又调度而已。 (2015-11-30 09:48) 

协程减少了线程切换,一个线程里可以产生10w个左右的协程,在单线程里协程的切换代价是非常小的。
离线渡世白玉

只看该作者 4楼 发表于: 2015-12-01
回 z55716368 的帖子
z55716368:版主的意思是不是我们可以自己对线程控制成协程的操作 (2015-11-30 11:56) 

我的意思是利用好异步的优势。
协程是程序级别的调度,对于CPU执行来说,没任何优势的。
离线渡世白玉

只看该作者 5楼 发表于: 2015-12-01
回 songhuirong1 的帖子
songhuirong1:协程减少了线程切换,一个线程里可以产生10w个左右的协程,在单线程里协程的切换代价是非常小的。 (2015-12-01 12:25)

CPU的最小执行单位是线程,单线程里十万个协程,也就一个在工作,利用不了并行优势。
对于高运算的程序,协程除了增加调度开销并没有优势的。
对于I/O操作较多的程序才有用,因为I/O太慢。而对应I/O操作,异步相对与协程开销更小,效率也更高的。
Cpp也有协程库,有的还是基于asio实现的,很多底层也是事件循环的。
而Qt本身就是事件循环的,多数I/O也是异步的,为什么不先考虑利用好异步和事件循环去优化。

离线sevencat

只看该作者 6楼 发表于: 2015-12-01
协程不需要qt支持...直接用现成的协程库就行了。
战争就是和平,自由就是奴役,愚味就是力量
离线z55716368

只看该作者 7楼 发表于: 2015-12-02
回 渡世白玉 的帖子
渡世白玉:我的意思是利用好异步的优势。
协程是程序级别的调度,对于CPU执行来说,没任何优势的。
 (2015-12-01 14:38) 

哦 好的
每一个问题 都是一次进步
快速回复
限100 字节
 
上一个 下一个