apply_async()方法中使用callbac的示例
时间: 2024-02-22 09:56:18 浏览: 143
下面是一个使用callback参数的apply_async()方法的示例:
```python
import multiprocessing
def worker(num):
print('Worker %d is running' % num)
return num * 2
def callback(result):
print('Result is %d' % result)
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=2)
for i in range(5):
pool.apply_async(worker, args=(i,), callback=callback)
pool.close()
pool.join()
```
在上面的示例中,我们定义了一个worker函数来模拟子进程的任务,该函数会返回一个数值。然后我们使用apply_async()方法来异步调用worker函数,并将callback参数设置为callback函数。当子进程完成任务后,会将结果传递给callback函数进行处理。在callback函数中,我们打印出子进程的返回结果。
运行上面的代码,输出结果如下:
```
Worker 0 is running
Worker 1 is running
Result is 0
Result is 2
Worker 2 is running
Result is 4
Worker 3 is running
Result is 6
Worker 4 is running
Result is 8
```
可以看到,我们成功地使用callback参数处理了子进程的返回结果。
阅读全文