小编Ava*_*van的帖子

Python多处理问题

我的程序有两部分分为核心和下载程序.核心处理所有应用程序逻辑,而下载程序只下载URL.现在,我正在尝试使用python多处理模块来完成作为进程的核心任务和作为进程的下载程序.

我注意到的第一个问题是,如果我从核心进程生成下载程序进程,以便下载程序是子进程而核心是父进程,则核心进程(父进程)将被阻塞,直到子进程完成.我不想要这种行为.我希望有一个核心流程和一个下载程序,它们都能够执行代码并在彼此之间进行通信.

...
def main():
    jobQueue = Queue()
    jobQueue.put("http://google.com)
    d = Downloader(jobQueue)
    p = Process(target=d.start())
    p.start()

if __name__ == '__main__':
    freeze_support()
    main()
Run Code Online (Sandbox Code Playgroud)

其中Downloader的start()只是将url从队列中取出并下载.

为了让2个进程解除阻塞,我是否需要从父进程创建2个进程然后在它们之间共享?

python multiprocessing

2
推荐指数
1
解决办法
397
查看次数

标签 统计

multiprocessing ×1

python ×1