我有一个类produceMessages
,它不断地向它的属性message_logs
提供消息。我想在另一个类processMessages
中处理这些消息。然而,processMessages
中的代码在produceMessages
完成之前不会执行--这是永远不会的,因为我希望这些消息永远出现。
通过查看文档,我发现asyncio库可能对我有帮助,但我很难让下面的示例工作:
这是第一个_文件.py:
import asyncio
import random
class produceMessages:
def __init__(self, timeout = 10):
self.timeout = timeout
self.message_logs = []
async def run(self):
while(True):
self.message_logs.append(random.uniform(0, 1))
await asyncio.sleep(self.timeout)
这是第二个_文件.py:
import first_file
import asyncio
import time
class processMessages:
def __init__(self):
self.producer = first_file.produceMessages()
asyncio.run(self.producer.run())
def print_logs(self):
print(self.producer.message_logs)
time.sleep(1)
x = processMessages()
x.print_logs()
我该怎么做呢?
1条答案
按热度按时间tkclm6bt1#
我建议您尝试库线程。这是我将如何处理它: