python线程池回调函数怎么使用
短信预约 -IT技能 免费直播动态提醒
在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`方法指定了回调函数。当任务完成后,回调函数将会被执行,并传入任务的返回结果作为参数。
需要注意的是,回调函数将在线程池中的某个线程中执行,因此在回调函数中应避免使用共享资源,或者需要使用锁来保护共享资源的访问。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341