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

python threadpoolexecutor

作者:烟寂断魂   发布日期:2025-08-11   浏览:22

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():
    # 创建一个包含 3 个线程的线程池
    with ThreadPoolExecutor(max_workers=3) as executor:
        # 提交多个任务到线程池
        futures = [executor.submit(task, i) for i in range(5)]

        # 获取任务的结果
        for future in futures:
            result = future.result()  # 等待任务完成并获取结果
            print(result)

if __name__ == "__main__":
    main()

解释说明:

  1. ThreadPoolExecutor:这是 Python 的 concurrent.futures 模块中的一个类,用于管理线程池。它简化了多线程编程的过程。
  2. task 函数:这是一个模拟的任务函数,接收一个参数 n,打印任务正在运行的信息,然后休眠 2 秒以模拟耗时操作,最后返回任务完成的信息。
  3. main 函数:创建了一个包含 3 个线程的线程池,并提交了 5 个任务到线程池中。每个任务由 task 函数处理。
  4. with 语句:确保线程池在使用完毕后正确关闭,避免资源泄露。
  5. submit 方法:将任务提交到线程池中执行,并返回一个 Future 对象,表示异步执行的任务。
  6. future.result():等待任务完成并获取其结果。

这段代码展示了如何使用 ThreadPoolExecutor 来并发执行多个任务,并收集它们的结果。

上一篇:python 数字转字符串

下一篇:python在线编译

大家都在看

python时间格式

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

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

Laravel 中文站