小编Spr*_*ple的帖子

为什么没有call_at_threadsafe和call_later_threadsafe?

我在Windows 32位中使用Python 3.5.2并且知道asyncio call_at不是线程安全的,因此下面的代码不会打印'bomb',除非我取消注释该行 loop._write_to_self().

import asyncio
import threading


def bomb(loop):
    loop.call_later(1, print, 'bomb')
    print('submitted')
    # loop._write_to_self()


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    threading.Timer(2, bomb, args=(loop,)).start()
    loop.run_forever()
Run Code Online (Sandbox Code Playgroud)

但是,我无法找到有关原因call_at_threadsafe和call_later_threadsafe实施的信息.这个理由是否存在?

python-3.x python-asyncio

2
推荐指数
1
解决办法
427
查看次数

标签 统计

python-3.x ×1

python-asyncio ×1