python - 使用 asyncio 执行的非阻塞 python 类方法
问题描述
我正在尝试初始化一个非阻塞任务,该任务与其父对象共享数据。它是一个 websocket 客户端,它不会阻止主执行,尽管仍然“永远”运行。
我谦虚的期望是这样做会做到,但遗憾的是,它阻塞了主线程。
loop = asyncio.new_event_loop()
task = loop.create_task(self.initWS())
loop.run_forever()
解决方案
self.initWS()
确实不是阻塞主线程,而是阻塞loop.run_forever()
。
如果你想同时执行更多任务self.initWS()
,你也必须将它们添加到 asyncio 循环中。
推荐阅读
- xslt - XSLT 转换 xml 带有子列表的列表项
- php - 无法从 PHP Mockery 中的函数模拟值
- python - 如何将列表中的数字乘以自己
- android - 如何在 Unity 中的 Android 上本地测试 AssetBundle (DLC)?
- python - 在字符串列表中查找子字符串列表的索引;填写缺失值
- java - JAX RS:无法使用 Websphere 自由核心将 JSON 转换为对象
- python - 需要帮助反向遍历python中的字符串列表,一旦找到带有数字的字符串,返回之前的所有内容
- c++ - C ++:在重新分配而不是复制中引用类对象
- html - Img Srcset 属性未选择较小的图像
- c# - 将 C 标头转换为 C# - ByValArray 与 ByValTStr 用于结构内的固定字符数组