V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Kobayashi  ›  全部回复第 10 页 / 共 55 页
回复总数  1097
1 ... 6  7  8  9  10  11  12  13  14  15 ... 55  
原因大概可以解释。看样子 awaitable.__await__() 返回了 future. 而 Future.__iter__ = Future.__await__. 而 Future result 未被设置时,Future.__await__() 返回自己。

从你自定义的 gather() 逻辑推测,你想绕过 asyncio 的任务运行控制,自己严格控制过个 Task 交替运行?比如任务 A, B, C 分别拆分为步骤 A1, A2, A3, B1, B2 ...,你想确保 A1, B1, C1, A2, ... 顺序?

建议先把 asyncio 源码读完理解 loop 如何全局调控任务、Task 封装 coroutine 起什么作用,以及 Future 又是什么,之后回过头来想这个事情。

异步就是在等一个任务的时候,去做另外一个任务。asyncio 事件循环默认不实现 A1, B1, C1 有序完全没有问题。
假设实现了这样的机制,如果 A1 运行需要等待一个新任务 X ,而 B1, C1 要等待 A1 。现在事件循环中所有任务都在等 X ,这还算异步吗?
另外,这里强调的是事件循环默认行为不能这么做,不然可能引起阻塞。但 asyncio 确实提供了任务间依赖的机制:Event, Lock, Condition ... 其原理都是 Future ,而 Future 本质上就是一个信号,任务 X 开始时返回一个信号给 A ,A 拿到信号后把自己后续步骤执行作为信号处理函数挂上去,任务 X 完成时触发信号,运行跳回 A1 。

总之,要自定义实现任务有序,1 )局部加入步骤有序,要么用 Event, Condition, Lock, Semaphore ,或者直接使用其更底层 Future 信号机制在步骤间建立机制。2 )全局的话不行,但作为一个基础包,asyncio 不能让事件循环处理任务步骤时有序,这样就不是异步了。自己玩玩不发包怎么搞都行。
2022-05-13 18:15:23 +08:00
回复了 Authing 创建的主题 互联网 Authing 的组织文化 :乐观派组织
读完了,文案不错,就是没明白是做什么的😳
2022-05-13 11:38:58 +08:00
回复了 shervy 创建的主题 硬件 买 M1 还是 Intel?
主要问题在于需求 1 ,虚拟化 x86 系统不要选 M1 。
2022-05-08 22:53:37 +08:00
回复了 CookCoder 创建的主题 求职 太多年没有写简历,诚恳各位审阅一下
2022-05-08 18:28:03 +08:00
回复了 shenhualv7 创建的主题 问与答 epub 阅读器电脑端有什么推荐的
koodo 就算了,那 epub css 样式支持和没有一样
2022-05-06 19:45:55 +08:00
回复了 bailitusu 创建的主题 macOS 大家是如何使用 Time Machine 的?
大版本升级前备份一下。平时 Dropbox 时时备份文档,定期提交 dotfiles 仓库。
2022-05-06 12:54:20 +08:00
回复了 villivateur 创建的主题 DNS OpenWRT 的 dnsmasq 要多试好几次才能获取到 AAAA 记录
配置、日志都没有……
来,大家买定离手,人人都有机会猜对。
我先来,可能是多个上游某些不返回 AAAA 。
2022-05-03 09:22:38 +08:00
回复了 chendl111 创建的主题 职场话题 25 岁,能够裸辞休息半年吗?
可以。但不建议 Gap 一年去学什么基础公开课,工作需要什么学什么。
2022-05-02 17:48:45 +08:00
回复了 sgissb1 创建的主题 问与答 leetcode 果然要多刷刷,很健脑
这结论就挺突然的……
2022-05-02 14:26:23 +08:00
回复了 stimw 创建的主题 Apple m1pro 用 VMware fusion tech preview 老是掉 ip
@stimw 换了一台?! M1 ?
2022-05-02 13:52:08 +08:00
回复了 stimw 创建的主题 Apple m1pro 用 VMware fusion tech preview 老是掉 ip
你是用什么网络类型,我只能用桥接,其他均失败,提示 Could not connect 'Ethernet0' to virtual network '/dev/vmnet8'.
好像我只能使用桥接网络,NAT 和 Host Only 都不行,你们怎么弄得。 @tulongtou @stimw
2022-05-02 12:31:48 +08:00
回复了 LxnChan 创建的主题 程序员 有办法把字体拆分吗,为了节省流量,只留英文字体
512M 还要 TMD chrome ? LXQT+非常老版的火狐,这个方案到有可能。
2022-04-30 14:45:25 +08:00
回复了 sylmon 创建的主题 广州 关于头发问题
我感觉种植哪里都一样,没 JB 什么好坏之分。就是种地间苗,把密集地方的拔几根插到稀疏的地方。不可能一家用的技术比另外一家落后一个时代,这样它早死了。技术上没什么太大差别。规模大的患者多的必然环境、设备、操作流程、服务乃至单价更好点。
我听说市面价格是 10 元每单位,但有些规模大的配合一些线上套餐优惠给到你 6-7 元每单位也不是没可能。
费用一般是一些前后检查费用+每单位*种植数量。有些医院可能还会单收手术费,这需要问清楚。
另外记得砍价,这种销售不是线上商店似的,价格定死的。你得和销售或者叫做方案设计聊,万元的花费能抹个零头就抹个零头。
2022-04-30 14:36:39 +08:00
回复了 sylmon 创建的主题 广州 关于头发问题
没意义,你应该先去医院做个检测,判断你需要种多少,什么密度。花费受种植面积、种植密度、单价影响。单价每个正规医院或者医美能给到的不大一样,开在长安街的店必然比开在县城的贵。
检测一般免费或者非常少的钱,不需要见血,就是检查一下密度预估一下面积。多去几家,加上销售微信,最后砍砍价格选一家。
2022-04-30 14:06:15 +08:00
回复了 leiuu 创建的主题 程序员 如何学习 web 3.0
为什么要学习 Web 3.0 ?
2022-04-30 06:30:33 +08:00
回复了 hanxiV2EX 创建的主题 程序员 尝试了下 wezterm,推荐试用,非常方便自定义
完全没想到这么用…… 私用 ssh tab 补全或者配合 fzf 补全。
终端上鉴于 wezterm 不支持字体字间距调整,咱是没有切换的打算。
2022-04-30 06:28:21 +08:00
回复了 Richard14 创建的主题 问与答 github 私有仓库有办法设置 token 访问吗?
SSH 转发不好吗?
1 ... 6  7  8  9  10  11  12  13  14  15 ... 55  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2239 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 08:47 · PVG 16:47 · LAX 01:47 · JFK 04:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.