import multiprocessing
import time
class MyClass:
def __init__(self, num):
self.num_processes = num
self.processes = []
def worker(self, name):
time.sleep(3)
print(name)
def run(self):
processes=[]
for i in range(self.num_processes):
process = multiprocessing.Process(target=self.worker, args=(i,))
process.start()
processes.append(process) #
# self.processes.append(process) #替换为这一句导致process.start()错误---不知啥原因
self.processes=processes
def join(self):
for process in self.processes:
process.join()
# 示例用法
if __name__ == '__main__':
my_obj = MyClass(3)
# 运行多个进程
my_obj.run()
# 等待所有进程结束
my_obj.join()
多进程的一个错误,奇怪,EOFError: Ran out of input
最新推荐文章于 2024-02-22 11:15:47 发布