我使用asyncio订阅了一个随机输出数据的套接字(在db变量更新时),显然我只有在事件循环运行时才会收到这些更新。我想创建一个线程,它会定期(比如每3-5秒)轮询事件循环以获取更新,即使我没有对事件循环执行特定的操作。
你会推荐threading/mp吗,或者有没有一个更好的选择,用于asyncio内置到lib中的后台轮询循环,我不知道?
发布于 2019-11-30 00:54:22
我可能误解了你的问题,但不管怎样,我的答案是:
eventloop应该一直在运行。在您的main()方法中,通常会通过调用loop = asyncio.get_event_loop()来获取eventloop实例。接下来,您将向其添加所需的所有内容。最后,您可以通过调用loop.run_forever()让它永远运行
关于Python中的异步编程,有大量优秀的文档可用。例如,这是一个很好的读物:https://realpython.com/async-io-python/
您通常不需要在异步服务中使用多线程。
https://stackoverflow.com/questions/58019617
复制相似问题