[英]multiprocessing run process in new console python to get input for each process
我正在尝试同时运行同一类的多个实例。 每个实例都有一个需要输入的方法。
我有一个需要同时在不同地方运行的模块。 这些模块彼此独立运行。 我应该能够从控制(主)模块发出模块实例的信号。 所以我试图用多线程来做到这一点,但我无法同时获得输入。 下面的代码返回 EOF 错误。
import multiprocessing as mp
import time
class Concurrent():
def __init__(self):
pass
def myMethod(self):
value = input("Enter input : ")
num = int(input("Enter number of process to run : "))
obj_arr=[]
for i in range(num):
obj = Concurrent()
obj_arr.append(obj)
def func(obj):
obj.myMethod()
ps = []
for obj in obj_arr:
p = mp.Process(target = func,args = (obj,))
ps.append(p)
[x.start() for x in ps]
我收到这个错误
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/process.py", line 315, in
_bootstrap
self.run()
File "/usr/lib/python3.8/multiprocessing/process.py", line 108, in
run
self._target(*self._args, **self._kwargs)
File "concurrent.py", line 21, in func
obj.stressCPU()
File "concurrent.py", line 10, in stressCPU
value = input("Enter input : ")
EOFError: EOF when reading a line
我看起来您正在尝试实现一个将运行函数的 MP 池。 请参考: https : //docs.python.org/3/library/multiprocessing.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.