在Python中,使用`multiprocessing`模块可以方便地实现多进程编程。以下是使用`multiprocessing`模块进行多进程设置的基本步骤:
导入模块
import multiprocessing
定义任务函数
def task_function(arg1, arg2):
任务逻辑
return result
创建进程
process = multiprocessing.Process(target=task_function, args=(arg1, arg2))
启动进程
process.start()
等待进程结束(可选):
process.join()
进程池(可选):
with multiprocessing.Pool(processes=number_of_processes) as pool:
pool.map(task_function, iterable_of_args)
进程间通信(可选):
使用`Queue`进行进程间数据传递。
使用`Pipe`创建一对连接对象,用于双向通信。
使用`Value`或`Array`进行共享内存。
使用`Semaphore`进行信号量控制。
使用`Event`进行事件通知。
使用`Condition`进行条件变量控制。
进程管理(可选):
使用`terminate()`方法强制终止进程。
使用`close()`方法关闭进程池,不再接受新的任务,但会完成当前任务。
使用`join()`方法等待进程结束。
这是一个简单的多进程设置示例:
import multiprocessing
def worker(num):
print(f'Worker: {num}')
if __name__ == '__main__':
processes = []
for i in range(4):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
这个示例创建了4个子进程,每个子进程打印其工作编号,并等待它们全部完成