我使用asyncio订阅了一个套接字,该套接字随机地吐出数据(关于db变量更新),显然我只在运行事件循环时才收到这些更新。我想创建一个线程,该线程将定期(例如每3-5秒一次)轮询事件循环以获取更新,即使我没有对事件循环进行特定操作。
您是否建议使用threading / mp,还是为asyncio内置到我不知道的lib中的后台轮询循环提供更好的选择?
答案 0 :(得分:0)
我可能会误解您的问题,但是无论如何,这是我的答案:
eventloop应该一直运行。在您的class Coins {
public double[] coins = {50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01};
public String[] coinsName = {"Fifty Pounds", "Twenty Pounds", "Ten Pounds",
"Five Pounds", "Two Pounds", "One Pound", "Fifty Pence",
"Twenty Pence", "Ten Pence", "Five Pence", "Two Pence", "One Pence"};
}
方法中,通常可以通过调用main()
来获取eventloop实例。接下来,您将添加所需的所有内容。最后,您可以通过调用loop = asyncio.get_event_loop()
关于使用Python进行异步编程的大量好文档。例如,这是一本不错的书: https://realpython.com/async-io-python/
您通常不需要在异步服务中使用多线程。