python线程池回调函数怎么使用
导读:在Python中,可以使用`concurrent.futures`模块中的`ThreadPoolExecutor`来创建线程池,并利用其提供的`submit`方法来提交任务。如果需要在任务完成后执行回调函数,可以使用`add_done_ca...
在Python中,可以使用`concurrent.futures`模块中的`ThreadPoolExecutor`来创建线程池,并利用其提供的`submit`方法来提交任务。如果需要在任务完成后执行回调函数,可以使用`add_done_callback`方法来指定回调函数。
下面是一个简单的示例代码:
from concurrent.futures import ThreadPoolExecutor
# 定义一个回调函数
def callback(result):
print("任务完成,结果为:", result)
# 定义一个任务函数
def task(x, y):
return x + y
# 创建线程池
with ThreadPoolExecutor() as executor:
# 提交任务,并指定回调函数
future = executor.submit(task, 2, 3)
future.add_done_callback(callback)
在上述示例中,我们首先定义了一个回调函数`callback`和一个任务函数`task`,然后创建了一个线程池。通过`executor.submit`方法提交了一个任务,并通过`future.add_done_callback`方法指定了回调函数。当任务完成后,回调函数将会被执行,并传入任务的返回结果作为参数。
需要注意的是,回调函数将在线程池中的某个线程中执行,因此在回调函数中应避免使用共享资源,或者需要使用锁来保护共享资源的访问。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: python线程池回调函数怎么使用
本文地址: https://pptw.com/jishu/569011.html