本文共 2071 字,大约阅读时间需要 6 分钟。
2. 定义一个目标函数
你需要定义一个将要在进程中执行的函数,这个函数将作为新进程的入口点。 ```python def worker_function(num): """一个简单的工作函数,打印传入的数字""" print(f"Worker function received: {num}") ```3. 创建Process对象并启动
使用`mp.Process()`方法创建一个新的进程实例。你需要传递给这个方法的参数是一个可调用的对象,即你定义的目标函数。此外,还可以传递一个元组作为参数给目标函数。 ```python # 创建一个Process对象,传入worker_function和参数(10) process = mp.Process(target=worker_function, args=(10,)) # 启动进程 process.start() ```4. 等待所有进程结束
在多进程处理后,通常需要调用`join()`方法来等待所有子进程结束。如果不调用这个方法,主进程会立即结束,而子进程可能仍在继续执行。 ```python # 等待所有子进程结束 process.join() ```测试用例
以下是一个简单的测试用例: ```python def worker_function(num): print(f"Worker function received: {num}") if __name__ == "__main__": processes = [] for i in range(5): p = mp.Process(target=worker_function, args=(i,)) p.start() processes.append(p) for p in processes: p.join() print("All sub-processes have finished.") ``` 该代码创建了5个并行进程,每个进程执行相同的任务。通过`process.join()`方法,主进程等待所有子进程完成后再继续执行。人工智能大模型应用场景及示例
假设有一个需要处理大量数据的大模型,每个数据处理任务是一个函数。你可以创建多个进程来并行执行这些任务。 ```python def ai_task(data): """模拟的大模型推理任务""" result = data * 2 print(f"Task with input {data} got result: {result}") return result if __name__ == "__main__": data_list = [1, 2, 3, 4, 5] processes = [] for data in data_list: p = mp.Process(target=ai_task, args=(data,)) p.start() processes.append(p) results = [] for p in processes: results.append(p.join()) print("All tasks have been processed.") print("Results:", results) ``` 该代码将数据列表中的每个数据项作为独立任务提交给多个进程进行处理,通过并行执行显著提高处理效率。
转载地址:http://zxofk.baihongyu.com/