V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  dbow  ›  全部回复第 14 页 / 共 25 页
回复总数  490
1 ... 10  11  12  13  14  15  16  17  18  19 ... 25  
在海外 vps 上下载, 然后把文件复制回来
2019-07-22 18:52:39 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
def call_soon(self, callback, *args, context=None):
"""Arrange for a callback to be called as soon as possible.

This operates as a FIFO queue: callbacks are called in the
order in which they are registered. Each callback will be
called exactly once.

Any positional arguments after the callback will be passed to
the callback when it is called.
"""
self._check_closed()
if self._debug:
self._check_thread()
self._check_callback(callback, 'call_soon')
handle = self._call_soon(callback, args, context)
if handle._source_traceback:
del handle._source_traceback[-1]
return handle
在事件循环里
while self._scheduled:
handle = self._scheduled[0]
if handle._when >= end_time:
break
handle = heapq.heappop(self._scheduled)
handle._scheduled = False
self._ready.append(handle)

# This is the only place where callbacks are actually *called*.
# All other places just add them to ready.
# Note: We run all currently scheduled callbacks, but not any
# callbacks scheduled by callbacks run this time around --
# they will be run the next time (after another I/O poll).
# Use an idiom that is thread-safe without using locks.
ntodo = len(self._ready)
for i in range(ntodo):
handle = self._ready.popleft()
if handle._cancelled:
continue
if self._debug:
try:
self._current_handle = handle
t0 = self.time()
handle._run()
dt = self.time() - t0
if dt >= self.slow_callback_duration:
logger.warning('Executing %s took %.3f seconds',
_format_handle(handle), dt)
finally:
self._current_handle = None
else:
handle._run()
handle = None # Needed to break cycles when an exception occurs.
2019-07-22 18:50:32 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
图床是 imgur 可能被墙掉了
2019-07-22 18:49:29 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
看上图,call_soon 把 task 加入 loop._ready, loop.run_once 把_ready 的东西 popleft 出来, 开始执行。
2019-07-22 18:48:19 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
2019-07-22 18:45:31 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
2019-07-22 18:44:22 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
create_task 创建了一个 task , task 构造函数里, 使用了 call_soon, call_soon 的意思 event loop 在下一批调度时立刻执行这个 task, 不再等待.
2019-07-22 18:39:13 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
协程的启动
async def print_msg(msg):
print(msg)

coro = print_msg()
coro.send(None) 执行至等待处(await)
coro.send(xxx) 恢复执行, xx 作为函数里面 await 的结果
一直 send, 一直执行, 直到 StopIteration,协程执行完毕。

create_task 时直接 send(None) 启动了协程执行, 导致两个 task 没有顺序关系。
2019-07-22 18:32:13 +08:00
回复了 waibunleung 创建的主题 Python 不死心,再来问一遍关于 Python 的 asyncio 问题
await 协程时, 协程才会开始执行, 执行返成结果返回给 await
create_task 时会先直接 await 协程, 相当于 task = await 协程; await task, 由于你两个 create_task 是连在一起的, 它们就没有顺序关系, 直接开始交错执行了。

看官方文档, https://docs.python.org/zh-cn/3/library/asyncio-task.html
asyncio.create_task(coro)
将 coro 协程 打包为一个 Task 排入日程准备执行。返回 Task 对象。

该任务会在 get_running_loop() 返回的循环中执行,如果当前线程没有在运行的循环则会引发 RuntimeError。
2019-06-22 14:11:45 +08:00
回复了 season4675 创建的主题 健康 不做个胃镜你永远不知道自己的胃有多糟糕
做过两次非无痛胃镜, 直接插管, 确实比较痛苦。
去年吃抗生素消灭幽门螺杆菌, 但是现在又开始觉得消化不良, 可能又要去插管了。
如果不控制饮食渠道, 可能年年感染, 年年插管。
2019-04-07 12:47:07 +08:00
回复了 djyde 创建的主题 iPad 11 寸 iPad Pro 体验
楼主可以再买一个图书扫描仪, 把书架, 历史笔记全部 pdf 化, 这样以来, 以后要搬家是方便太多了。
2019-04-07 12:43:01 +08:00
回复了 djyde 创建的主题 iPad 11 寸 iPad Pro 体验
同 ipad pro 11 寸, 搭配上 apple pencil 2, 我觉得的这是市面上最好的读书写笔记设备, 完全符合我这种读读写写画画的用户。
用 ipad pro 最好别搭配键盘,操作不便, 需要键盘的任务还是用 PC 完成比较好
就不应该把 ipad pro 当 PC 用,ipad 的强项在于爽快的触感, 流畅的操作, 精致的 app。
ipad + pencil 1 , ipad mini + pencil1, 的体验要跟 pro + pencil 2 差一大截, 你们看看 pencil 2 长什么样就知道了。
2019-02-21 14:11:54 +08:00
回复了 sallyone 创建的主题 健康 胃镜体验
插管过程中非常痛苦, 但是几分钟就过去了, 如果选择麻醉, 要花好几个小时才能恢复。
2018-12-03 12:51:40 +08:00
回复了 sagaxu 创建的主题 Python Python 爬虫改成 go,性能提高 5 倍?
不用 scrapy 就好了,python 写的 event loop 也能轻松做到 1w/s 请求。
觉得 python I/O 不行是水平问题。
吃个饭, 补个血糖, 然后然纸书, 到星巴克之类的地方读,
用电脑看书, 眼累。
女朋友得下班聊, 聊个差不多, 就约。
2018-11-23 16:57:15 +08:00
回复了 RANDOMXXX 创建的主题 问与答 大家下班都干嘛
星巴克呆着, 读两小时书
2018-11-10 22:51:58 +08:00
回复了 nancheng 创建的主题 程序员 开发童鞋们,有在公司值双 11 的班的嘛
运维服务中, 顺便等着抢货。
1 ... 10  11  12  13  14  15  16  17  18  19 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2620 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 11:26 · PVG 19:26 · LAX 03:26 · JFK 06:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.