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

python threadpool

作者:死亡之神   发布日期:2026-08-03   浏览:81

from concurrent.futures import ThreadPoolExecutor
import time

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

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

        # 获取任务的结果
        for future in futures:
            result = future.result()  # 阻塞直到任务完成并获取结果
            print(f"Task returned: {result}")

if __name__ == "__main__":
    main()

解释说明:

  1. ThreadPoolExecutor:这是 concurrent.futures 模块中的一个类,用于管理线程池。它简化了多线程编程的过程。
  2. task 函数:这是一个简单的任务函数,模拟了一个耗时操作(使用 time.sleep),并在完成后返回一个计算结果。
  3. main 函数:创建了一个包含 4 个线程的线程池,并提交了 5 个任务到线程池中。每个任务通过 executor.submit 方法提交,返回一个 Future 对象。
  4. future.result():阻塞当前线程,直到对应的异步任务完成,并返回任务的结果。

这个例子展示了如何使用 Python 的线程池来并发执行多个任务,并收集它们的结果。

上一篇:virtualenv指定python版本

下一篇:python3 字典

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

python windows下文件路径写法

python集合中的元素可以是列表

staticmethod在python中有

python 保存json文件

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

Laravel 中文站