Python中多线程和多处理的分析

技术Python中多线程和多处理的分析本篇内容主要讲解“Python中多线程和多处理的分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中多线程和多处理的分析”吧

本篇内容主要讲解"蟒蛇中多线程和多处理的分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"蟒蛇中多线程和多处理的分析"吧!

多线程

简单地说,线程允许您并行地运行程序。花费大量时间等待外部事件的任务通常适合线程化。它们也称为输入/输出绑定任务例如从文件中读写,网络操作或使用应用程序接口在线下载。让我们来看一个示例,它展示了使用线程的好处。

1. 没有线程

在本例中,我们希望通过顺序运行程序来查看从美国石油学会下载15张图像需要多长时间:

导入requestsimporttimeimg _ URL=[' https://]个图像。unsplash。com/photo-1516117172878-fd2c 41 F4 a 759 ',' https://图片。unsplash。com/photo-1532009324734-20 a7a 5813719 ',' https://图片。unsplash。com/photo-152444444444444669-6633 content not open(img _ name,' WB ')asimg _ file : img _ file。write(img _ bytes)# savegimagetodiskffinish=time。perf _ counter()# endtimer print(f '完成于{ round(finish-start,2)}秒)' #结果完成于23.1019267551秒一共用时23秒。

2. 多线程

让我们看看派顿中的线程模块如何显著地改进我们的程序执行:

从并发导入时间。futureimportthreadpooleexecutudefdownload _ images(URL): img _ name=img _ URL。split('/')[3]img _ bytes=请求。获取(img _ URL).contentwithopen(img_name,' WB ')asimg _ file : img _ file。write(img _ bytes)print(f ' { img _ name }被下载')start=time。perf _ counter()# starttimerwithThreadPoolExecutor :结果=executor。map(download _ images,img _ URL)# thissimilartmap(func,* iterables)finish=time。perf _ counter()# endtimerprint(f ' finished in { round(finish我们可以看到,与不使用线程代码相比,使用线程代码可以显著提高速度。从23秒到5秒。

对于本例,请注意在创建线程时存在开销,因此将线程用于多个应用程序接口调用是有意义的,而不仅仅是单个调用。

此外,对于密集的计算,如数据处理,图像处理多处理比线程执行得更好。

到此,相信大家对"蟒蛇中多线程和多处理的分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/66409.html

(0)

相关推荐

  • 使用最广泛的计算机所用的逻辑部件是哪个

    技术使用最广泛的计算机所用的逻辑部件是哪个本篇内容介绍了“使用最广泛的计算机所用的逻辑部件是哪个”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年10月25日
  • 什么是c语言共用体

    技术什么是c语言共用体本篇内容介绍了“什么是c语言共用体”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、共用体是一种特

    攻略 2021年10月28日
  • 记一次线上问题定位过程

    技术记一次线上问题定位过程 记一次线上问题定位过程出现问题,但不能快速修复系统在高峰期突然出现了大面积的core dump,通过gdbcore文件发现,是core在发送数据到另一个服务的地方,打开堆栈对

    礼包 2021年11月25日
  • 怎么使用python编程webpy框架模板def with

    技术怎么使用python编程webpy框架模板def with本篇内容介绍了“怎么使用python编程webpy框架模板def with”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大

    攻略 2021年11月19日
  • SQL附加数据库失败问题的解决方法

    技术SQL附加数据库失败问题的解决方法这篇文章将为大家详细讲解有关SQL附加数据库失败问题的解决方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。为了偷个懒,利用这个数据

    攻略 2021年11月30日
  • 如何借力Docker搞定MySQL主从复制!

    技术如何借力Docker搞定MySQL主从复制!如何借力Docker搞定MySQL主从复制!,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。不过很多小伙伴反映

    攻略 2021年10月25日