写一个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方法提交了两个任务给线程池,并获取了它们的返回结果。最后,我们打印了任务的返回结果。由于线程池会自动管理线程的创建和销毁,我们不需要手动处理线程的创建和管理,从而简化了多线程编程的复杂性。

相关推荐
{Hello World}几秒前
Java内部类:深入解析四大类型与应用
java·开发语言
春日见1 分钟前
C++单例模式 (Singleton Pattern)
java·运维·开发语言·驱动开发·算法·docker·单例模式
Remember_9931 分钟前
网络原理初识:从基础概念到协议分层
开发语言·网络·php
SamRol2 分钟前
达梦数据库指令 及 在Spring Boot + MyBatis-Plus上的使用
java·数据库·spring boot·mybatis·达梦·intellij idea
LOYURU3 分钟前
Centos7.6安装Go
开发语言·后端·golang
小二·3 分钟前
Go 语言系统编程与云原生开发实战(第1篇):从零搭建你的第一个 Go 服务 —— 理解 GOPATH、Modules 与现代 Go 工作流
开发语言·云原生·golang
Dominiczz4 分钟前
llamafactory调试过程
python
星期五不见面4 分钟前
嵌入式学习!(一)C++学习-STL(21)-26/1/27
开发语言·c++·学习
大白要努力!4 分钟前
Android Spinner自定义背景
java·开发语言
小北方城市网5 分钟前
Elasticsearch 分布式检索生产级优化:从索引设计到查询性能
java·大数据·运维·redis·分布式·elasticsearch·搜索引擎