繁体   English   中英

使用多处理创建同一进程的多个实例

[英]Create multiple instances of the same process with multiprocessing

我正在尝试制作一个程序,其中主进程处理所有传入的连接,然后将它们交给不同的进程来托管服务器。 但是我遇到了一个问题,我不相信我可以使用池来做到这一点。 这是我的代码:

import multiprocessing as mp

def startserver():
    print("hi")
if __name__ == '__main__':
    mp.set_start_method('spawn')
    process = []
    command = 1
    i = 0
    while True:
        if command == 1:
            process[i] = mp.Process(target = startserver)
            process[i].start()
            i += 1
            if i == 10:
                break

但是当我这样做时,我得到的只是错误:

 File "server.py", line 12, in <module>
 process[i] = multiprocessing.Process(target = startserver)
 IndexError: list assignment index out of range

提前致谢!

看起来您的列表在 string process = []之后为空,但您尝试访问此列表的现有(实际上不存在)元素( process[i] = ... )。 尝试使用process.append(mp.Process(target = startserver))或相同的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM