python线程池回调函数怎么使用

avatar
作者
猴君
阅读量:0

在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方法指定了回调函数。当任务完成后,回调函数将会被执行,并传入任务的返回结果作为参数。

需要注意的是,回调函数将在线程池中的某个线程中执行,因此在回调函数中应避免使用共享资源,或者需要使用锁来保护共享资源的访问。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!