python asyncio 子线程中的EventLoop(python培训)

网友投稿 335 2022-09-03


python asyncio 子线程中的EventLoop(python培训)

# coding: utf-8# @Time : 2022-05-17 9:12# @Author : AngDHimport asyncioimport threadingimport timenow = lambda: time.time()async def task_func(): print("task_func:", threading.current_thread().name) print("task_func start") await asyncio.sleep(3) print("task_func done")def start_loop(loop): asyncio.set_event_loop(loop) loop.run_forever()def callback(t): print("callback:", threading.current_thread().name) time.sleep(1) print("callback done")start = now()# 这里不能用 get_event_loop , 它会与当前线程绑定new_loop = asyncio.new_event_loop()# 子线程启动 事件循环t = threading.Thread(target=start_loop, args=(new_loop,))t.start()asyncio.run_coroutine_threadsafe(task_func(), new_loop)new_loop.call_soon(callback, 1)# new_loop.call_soon_threadsafe(callback, 2)print("主线程:do other")


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:完美解决Windows用户下lumerical(FDTD)的python库lumopt安装方法
下一篇:Eclipse+Java+Swing实现斗地主游戏(代码)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~