V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  waibunleung  ›  全部回复第 27 页 / 共 32 页
回复总数  630
1 ... 19  20  21  22  23  24  25  26  27  28 ... 32  
2019-07-22 18:24:47 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
@BBCCBB 首先代码一里面只有 main()这个主异步函数会被转换成 task,其他的还是 coroutine,另外 create_task 调用之后,转换出来的 task 也没有明显加入 event loop,不过你能找到加进去 event loop 的代码的话,更能支持你的说法...
2019-07-22 18:21:24 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
@ipwx 所以你可以解释一下吗~为什么将协程换成 task 之后执行顺序就不一样了?
2019-07-22 18:14:34 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
@BBCCBB 你说的话不就是我的猜想么?另外你也是跟我一样的猜想,实际上我稍微去找过源码,我只看到了函数 create_task 里面的注释说将协程加入 event loop 调度并返回一个 task 对象,但是我并没有找到将协程加入 event loop 的代码在哪里。
另外你可以解释一下为什么代码 1 是顺序执行的吗?跟代码 2 对比起来不同的原因是什么?
2019-07-22 17:46:56 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
顺便贴一下之前的问题 https://www.v2ex.com/t/583601#reply46
2019-07-18 16:59:48 +08:00
回复了 AlanAlbert 创建的主题 程序员 被迫社招,找不到工作了😭
@AlanAlbert 其实还有不少机会的啊,拉钩上面看了下还是有校招岗位
2019-07-18 16:57:58 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@wwqgtxx 你说的有点道理,我再梳理一下
2019-07-18 15:59:47 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@wwqgtxx 那这么说的话不应该在 await 自己等待别人的时候输出两句 print 吗?为什么是最后才输出呢?
2019-07-18 15:57:46 +08:00
回复了 AlanAlbert 创建的主题 程序员 被迫社招,找不到工作了😭
想问问楼主去年拿的两个 10k 的分别是什么公司?
2019-07-17 13:00:52 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@wwqgtxx 你可以解释一下我 append 的第二段代码的运行逻辑吗?为什么两次打印会在最后才出现?
2019-07-17 11:26:38 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@waibunleung 能解释一下我 append 的第二段代码是逻辑吗?
2019-07-17 11:26:09 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@congeec 哥,会说话就多说点昂~ 好像有点眉目了
2019-07-17 11:23:11 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@wwqgtxx 你可以解释一下我 append 的第二段代码的运行逻辑吗?
2019-07-17 10:51:43 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@Vegetable 所以按照你的意思,for 循环里 await,它会阻塞当前正在 await 的任务直到它完成才进到下一轮循环去?
2019-07-17 10:46:21 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@congeec 在?既然要评论,就将话说得更具体一些咯
2019-07-17 10:45:45 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@wwqgtxx
> 你这里的 await 其实内部是转化为 yield from 了,但是这个机制是给 asyncio 的 eventloop 使用的,在你 await 的时候会把控制权给别的 task,当别的 task 出现 await 或者说执行完成的时候再回到这个地方接着执行(会恢复现场),直到你当前 tast 结束( return 或者是抛异常)

这么说的话,在 for 循环中遇到 await 时,for 循环所在的主协程会挂起去执行别的 task,那这个时候整个 for 循环会被 block 住不会往下继续执行吧?等到所有任务完成或者 await 之后才往下面执行 for 循环后面的代码?
2019-07-17 10:37:36 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
至于为什么我觉得他会跳出整个 for 循环或者觉得 for 循环对协程会有特别处理,是因为我类比了 nodejs 的 await/async 机制...另外大家有关于 python 的 eventloop 相关介绍吗?
2019-07-17 10:31:07 +08:00
回复了 waibunleung 创建的主题 Python python3.7 中的 async/await 以及 asyncio 问题
@metaclass 按照你这么说是 blocking 的话,那最后的运行时间应该大于 4s 才对,但是很明显运行时间取决于耗时最大的那个任务
@newtrek 还是对大公司不死心
@hirasawayui 差不多的状态
@wuYin 加油!
1 ... 19  20  21  22  23  24  25  26  27  28 ... 32  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5519 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 02:05 · PVG 10:05 · LAX 18:05 · JFK 21:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.