写一个python基于线程池的多线程

下面是一个示例程序,它使用Python的concurrent.futures模块中的线程池来实现多线程操作:

python 复制代码
import concurrent.futures

def worker(arg):
    print(f'Working on {arg}')
    return arg * 2

if __name__ == '__main__':
    # 创建线程池
    with concurrent.futures.ThreadPoolExecutor() as executor:
        # 提交任务给线程池
        future1 = executor.submit(worker, 1)
        future2 = executor.submit(worker, 2)
        
        # 获取任务的返回结果
        result1 = future1.result()
        result2 = future2.result()
        
        print(f'Result 1: {result1}')
        print(f'Result 2: {result2}')

在这个示例中,我们定义了一个名为worker的函数,它接收一个参数并返回参数的两倍。然后,在主程序中,我们使用线程池的submit方法提交了两个任务给线程池,并获取了它们的返回结果。最后,我们打印了任务的返回结果。由于线程池会自动管理线程的创建和销毁,我们不需要手动处理线程的创建和管理,从而简化了多线程编程的复杂性。

相关推荐
书到用时方恨少!6 分钟前
Python Pandas 使用指南:数据分析的瑞士军刀
python·数据分析·pandas
不写八个14 分钟前
PHP教程006:ThinkPHP项目入门
开发语言·php
helx8217 分钟前
SpringBoot中自定义Starter
java·spring boot·后端
_MyFavorite_24 分钟前
JAVA重点基础、进阶知识及易错点总结(31)设计模式基础(单例、工厂)
java·开发语言·设计模式
ILYT NCTR1 小时前
SpringSecurity 实现token 认证
java
A.A呐1 小时前
【C++第二十三章】C++11
开发语言·c++
智算菩萨1 小时前
【Pygame】第8章 文字渲染与字体系统(支持中文字体)
开发语言·python·pygame
:mnong1 小时前
全图纸语义理解升级分析
python·openvino·paddleocr·qt6.3·paddleocr-vl
rleS IONS1 小时前
SpringBoot获取bean的几种方式
java·spring boot·后端
qh0526wy1 小时前
pathlib 核心功能一览
python