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

相关推荐
Eric.Lee20213 分钟前
数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall
python·深度学习·算法·目标检测·计算机视觉·数据集·螃蟹检测
黑不溜秋的4 分钟前
C++ 语言特性29 - 协程介绍
开发语言·c++
一丝晨光9 分钟前
C++、Ruby和JavaScript
java·开发语言·javascript·c++·python·c·ruby
天上掉下来个程小白11 分钟前
Stream流的中间方法
java·开发语言·windows
xujinwei_gingko22 分钟前
JAVA基础面试题汇总(持续更新)
java·开发语言
liuyang-neu24 分钟前
力扣 简单 110.平衡二叉树
java·算法·leetcode·深度优先
sp_wxf31 分钟前
Lambda表达式
开发语言·python
一丝晨光35 分钟前
Java、PHP、ASP、JSP、Kotlin、.NET、Go
java·kotlin·go·php·.net·jsp·asp
罗曼蒂克在消亡38 分钟前
2.3MyBatis——插件机制
java·mybatis·源码学习
Fairy_sevenseven43 分钟前
【二十八】【QT开发应用】模拟WPS Tab
开发语言·qt·wps