Python应用程序结构,具有2个主/进程

2024-05-19 17:06:58 发布

您现在位置:Python中文网/ 问答频道 /正文

这可能是一个超级简单的答案,但我对创建自己的python应用程序和包还比较陌生。我对C++和C语言及其库等语言相当熟悉。你知道吗

我正在尝试构建一个python包,我希望它像一个简单的可执行文件一样运行。我有这个应用程序的支持模块,它们只是实例化和调用的类。但是我确实有个问题。我有两个主要功能。我这样做的原因是,我有一个程序的一部分,它由简单for循环组成,该循环实例化了一个类,然后给出了关于这个类的具体细节(输入到这个类中等等),我创建了一个Popen实例,调用“python”智能接口.py“然后呢智能接口.py包含另一个主要函数。我想知道我怎样才能把这个组织得最好。我应该创建两个不同的包并找出如何链接包含中的类的模块,因为这两个进程都依赖于相同的类,还是我对Popen做了一些错误的操作?你知道吗


Tags: 模块实例答案py程序功能语言应用程序
1条回答
网友
1楼 · 发布于 2024-05-19 17:06:58

试试这样的。你知道吗

import asyncio, random


loop = asyncio.get_event_loop()

@asyncio.coroutine
def second_task():
    while True:
        yield from asyncio.sleep(0.5 + random.random())

@asyncio.coroutine
def main_task():
    while True:
        # do somthing
        loop.create_task(consume())


loop.create_task(main_task())
loop.run_forever()

另一个使用任务队列的示例(我认为更好):

import asyncio, random

task_queue = asyncio.Queue()

@asyncio.coroutine
def task_producer():
    while True:
        yield from task_queue.put(random.random())
        yield from asyncio.sleep(random.random())

@asyncio.coroutine
def task_consumer():
    while True:
        value = yield from task_queue.get()
        print("returne value: ", value)


loop = asyncio.get_event_loop()
loop.create_task(task_producer())
loop.create_task(task_consumer())
loop.run_forever()

相关问题 更多 >