美文网首页python小课——零基础入门——学习笔记Python
Python学习中多线程和多处理的初学者指南

Python学习中多线程和多处理的初学者指南

作者: Python小辰 | 来源:发表于2020-11-09 17:01 被阅读0次

    使用Python分析数据,如果使用了正确的数据结构和算法,有时可以大量提高程序的速度。实现此目的的一种方法是使用Muiltithreading(多线程)或Multiprocessing(多重处理)。

    在这篇文章中,我们不会详细讨论多线程或多处理的内部原理。相反,我们举一个例子,编写一个小的Python脚本从Unsplash下载图像。我们将从一次下载一个图像的版本开始。接下来,我们使用线程来提高执行速度。

    多线程

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

    没有线程

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

    一共用时​23秒。

    多线程

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

    Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(627012464),一起督促,一起学习。里面有开发工具,很多干货和技术资料分享!

    我们可以看到,与不使用线程代码相比,使用线程代码可以显著提高速度。从23秒到5秒。

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

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

    相关文章

      网友评论

        本文标题:Python学习中多线程和多处理的初学者指南

        本文链接:https://www.haomeiwen.com/subject/wilkbktx.html