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

相关推荐
star learning white几秒前
xmC语言8
c语言·开发语言·算法
一只爱学习的小鱼儿1 分钟前
QT中3D的使用
开发语言·数据库·qt
喵了几个咪20 分钟前
Golang微服务框架Kratos实现Thrift服务
开发语言·微服务·golang
DolphinScheduler社区21 分钟前
图解 Apache DolphinScheduler 如何配置飞书告警
java·大数据·开源·飞书·告警·任务调度·海豚调度
Han.miracle23 分钟前
JavaEE —— 网路编程 Socket套接字
java·java-ee
j***894630 分钟前
Spring Boot整合Redisson的两种方式
java·spring boot·后端
Laravel技术社区30 分钟前
php 读取视频流(mp4视频文件),快速读取视频解决方案(案例及配置)
开发语言·php·音视频
q***965831 分钟前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
ytttr87333 分钟前
基于MATLAB实现晶体共晶凝固模拟
开发语言·算法·matlab