[英]Multiprocessing in Python using Process, how to limit the number of processes
我想同时运行多个进程,但是使用 Process 我不能一次限制进程的数量,这样我的电脑就无法用于其他任何事情。 在我的问题中,我必须为 my_dataset 中的所有数据运行 main_function。 这是我的代码的一个简短示例,是否可以一次限制进程数?
from multiprocessing import Process
def my_function(my_dataset):
processes = []
for data in my_dataset:
transformed_data = transform(data)
p = Process(target=main_function, args=(data, transformed_data))
p.start()
processes.append(p)
for p in processes:
p.join()
您可以利用多处理池https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool
from multiprocessing import Pool
names = ["Joe", "James", "Jimmy"] * 10
def print_name(name):
print(f"Got Name: {name}")
def runner():
p = Pool(4)
p.map(print_name, names)
if __name__== "__main__":
runner()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.