欢迎访问宙启技术站
智能推送

Python中通过run()函数实现并发执行任务

发布时间:2024-01-16 16:34:40

在Python中,可以使用concurrent.futures模块中的ThreadPoolExecutor类来实现并发执行任务。ThreadPoolExecutor类提供了一个简单的并发执行任务的接口,可以方便地实现多线程任务的执行。

以下是一个使用concurrent.futures模块实现并发执行任务的例子:

import concurrent.futures

def task(i):
    print(f"Task {i} started")
    # 模拟任务执行时间
    time.sleep(1)
    print(f"Task {i} finished")

# 创建一个ThreadPoolExecutor对象,最多同时运行5个线程
executor = concurrent.futures.ThreadPoolExecutor(max_workers=5)

# 提交10个任务到线程池执行
for i in range(10):
    executor.submit(task, i)

# 关闭线程池
executor.shutdown(wait=True)

在上面的例子中,首先定义了一个 task 函数,该函数模拟了一个任务的执行。然后创建了 ThreadPoolExecutor 对象,设置最大并发线程数为 5。接下来,通过 executor.submit() 方法将任务提交到线程池中执行。最后,调用 executor.shutdown() 方法关闭线程池。

运行上述代码,将会观察到任务被并发执行的效果。每个任务的执行时间为1秒,由于线程池最大并发数为5,所以前5个任务将同时执行,之后的任务会在前面的任务完成之后再执行。

可以根据实际需求进行调整线程池的最大并发数和任务的执行时间,以达到 的性能和效果。同时还可以使用concurrent.futures模块提供的其他类和方法来实现不同的并发模式,如使用ProcessPoolExecutor类实现多进程并发执行任务。