Python的多进程模块是multiprocessing
,它允许在同一计算机上创建多个进程并发执行任务。下面是多进程的用法和参数说明:
1. 创建进程
使用multiprocessing.Process
类创建进程对象,并传入要执行的函数作为参数。例如:
import multiprocessing
def task():
# 进程要执行的任务
process = multiprocessing.Process(target=task)
2. 启动进程
使用start()
方法启动进程。例如:
process.start()
3. 进程参数说明
target
要执行的函数或方法。例如:
process = multiprocessing.Process(target=task)
args
要传递给目标函数的参数,以元组的形式传入。例如:
def task(arg1, arg2):
# 进程要执行的任务
process = multiprocessing.Process(target=task, args=(arg1, arg2))
kwargs
要传递给目标函数的关键字参数,以字典的形式传入。例如:
def task(arg1, arg2, kwarg1=None, kwarg2=None):
# 进程要执行的任务
process = multiprocessing.Process(target=task, args=(arg1, arg2), kwargs={'kwarg1': value1, 'kwarg2': value2})
4. 进程方法说明
start()
启动进程。
run()
进程要执行的任务。
join(timeout=None)
等待进程执行完成。如果指定了timeout
参数,表示最多等待的时间(以秒为单位)。
is_alive()
判断进程是否处于活动状态。
name
进程的名称属性,可以通过修改该属性来设置进程的名称。
代码示例
下面是一个使用多进程的示例代码:
import multiprocessing
import time
def task(name):
print(f"进程 {name} 开始执行")
time.sleep(2)
print(f"进程 {name} 执行完成")
processes = []
for i in range(3):
process = multiprocessing.Process(target=task, args=(f"Process-{i+1}",))
processes.append(process)
process.start()
for process in processes:
process.join()
print("所有进程执行完成")
以上代码创建了3个进程,每个进程执行task
函数,输出进程开始执行和执行完成的信息。主进程使用join()
方法等待所有进程执行完成后输出"所有进程执行完成"。