Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

threadpoolexecutor python

作者:°妮可罗宾   发布日期:2026-03-30   浏览:31

from concurrent.futures import ThreadPoolExecutor
import time

# 定义一个简单的函数,模拟任务执行
def task(n):
    print(f"Task {n} is running")
    time.sleep(2)  # 模拟任务耗时
    return f"Task {n} completed"

# 使用 ThreadPoolExecutor 创建一个线程池
def main():
    with ThreadPoolExecutor(max_workers=3) as executor:
        # 提交多个任务到线程池
        futures = [executor.submit(task, i) for i in range(5)]

        # 获取任务的结果
        for future in futures:
            print(future.result())

if __name__ == "__main__":
    main()

解释说明:

  1. ThreadPoolExecutor:来自 concurrent.futures 模块,用于管理线程池。它简化了多线程编程中的线程管理。
  2. task 函数:这是一个模拟的任务函数,接收一个参数 n,打印任务信息并休眠 2 秒以模拟耗时操作,最后返回任务完成的信息。
  3. with ThreadPoolExecutor(max_workers=3) as executor:创建一个最大线程数为 3 的线程池,并使用上下文管理器确保资源正确释放。
  4. executor.submit(task, i):将任务提交给线程池执行,返回一个 Future 对象,表示异步执行的任务。
  5. future.result():获取 Future 对象的结果,如果任务还没有完成,则会阻塞直到任务完成。

这段代码展示了如何使用 ThreadPoolExecutor 来并发执行多个任务,并等待所有任务完成后再获取结果。

上一篇:python dic

下一篇:python lambda函数用法

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站