`

【跟我学Python】第四章. Python多线程编程

阅读更多

 

 

 

 

                                        【跟我学Python】第四章. Python多线程编程

 

 

在Python中我们主要是通过thread和 threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用 threading模块实现多线程编程。

 

Thread 线程类,用的最多的一个类,可以指定线程函数执行或者继承自它都可以实现子线程功能;

Timer与Thread类似,但要等待一段时间后才开始运行;

Lock 锁原语,这个我们可以对全局变量互斥时使用;

RLock 可重入锁,使单线程可以再次获得已经获得的锁;

Condition 条件变量,能让一个线程停下来,等待其他线程满足某个“条件”;

Event 通用的条件变量。多个线程可以等待某个事件发生,在事件发生后,所有的线程都被激活;

Semaphore为等待锁的线程提供一个类似“等候室”的结构;

BoundedSemaphore 与semaphore类似,但不允许超过初始值;

Queue:实现了多生产者(Producer)、多消费者(Consumer)的队列,支持锁原语,能够在多个线程之间提供很好的同步支持。

setDaemon(self, daemonic) 把线程的daemon标志设为daemonic

 

Thread类:主要的线程类,可以创建进程实例。

        getName(self) 返回线程的名字

        isAlive(self) 布尔标志,表示这个线程是否还在运行中

        isDaemon(self) 返回线程的daemon标志

        join(self, timeout=None) 程序挂起,直到线程结束,如果给出timeout,则最多阻塞timeout秒

        run(self) 定义线程的功能函数

        setName(self, name) 设置线程的名字

        start(self) 开始线程执行

 

Queue类

        Queue队列

        LifoQueue后入先出(LIFO)队列

        PriorityQueue 优先队列

 

接下来,我们用一个一个示例来展示threading的各个功能,包括但不限于两种方式起线程、threading.Thread类的重要函数、使用Lock互斥及RLock实现重入锁、使用Condition实现生产者和消费者模型、使用Event和Semaphore多线程通信。

 

 

 

分享到:
评论

相关推荐

    Python多线程编程.zip

    Python多线程编程.zipPython多线程编程.zipPython多线程编程.zipPython多线程编程.zipPython多线程编程.zipPython多线程编程.zipPython多线程编程.zipPython多线程编程.zipPython多线程编程.zip 运行python的时候,...

    Python 多线程教程.docx

    Python 多线程教程.docxPython 多线程教程.docxPython 多线程教程.docxPython 多线程教程.docxPython 多线程教程.docxPython 多线程教程.docxPython 多线程教程.docxPython 多线程教程.docxPython 多线程教程....

    python多线程编程.rar

    Python多线程编程是Python系统编程中的重要组成部分,它允许程序同时执行多个任务,从而提高程序的效率和响应速度。在Python中,我们通常使用内置的`thread`库、`threading`库以及`Queue`库来实现多线程。 首先,`...

    Python编程(第4版). pdf (Programming.Python.4th.Edition)原版

    Python编程(第4版)目录 第一部分 序幕 第1章 先睹为快 第1步:表示记录 第2步:持久存储记录 第3步:走进OOP 第4步:增加控制台交互 第5步:增加GUI 第6步:增加Web 界面 第二部分 系统编程 第2章 系统工具...

    Python密码学编程.part1.rar(可复制、可搜索)

    本书是面向初学者的 Python 密码学编程指南通过理论和实例相结合的方式介绍了多种加密算法及其破解方法 。 全书共分 24 章 , 由浅入深地介绍了与密码学编程相关的各类基础知识 、 编程技巧以及算法实现。 除此之外 ...

    Programming.Python.4th.Edition[Python编程(第4版).源代码]

    源代码文件"Programming.Python.4th.Edition[Python编程(第4版).源代码].tar.gz"包含了书中的所有示例代码,方便读者跟随学习并进行实践操作。 "PP4E-Examples-1.2"是这个压缩包中的子文件夹,很可能代表了"Python ...

    [Python学习手册(第4版)].(Learning.Python.4th.Edition).Mark.Lutz.文字版.pdf

    - **版本更新**:自1999年第一版出版以来,该书历经多次修订,第四版更是紧跟Python语言的发展,包含了最新的语言特性和最佳实践。 - **全面性**:从Python的基本语法、数据类型、控制流程,到函数、模块、面向对象...

    3. Python 面向对象编程.ipynb

    3. Python 面向对象编程.ipynb3. Python 面向对象编程.ipynb 3. Python 面向对象编程.ipynb 3. Python 面向对象编程.ipynb 3. Python 面向对象编程.ipynb 3. Python 面向对象编程.ipynb 3. Python 面向对象编程....

    Python 多线程编程实例

    Python 多线程编程实例,一个综合示例

    Python密码学编程.part1

    扫描完整版带书签 Python密码学编程.part1 Python密码学编程.part1

    优质Python教程 Python3.7从基础入门到精通进阶教程 第14章 Python的高级技术 共20页.ppt

    第4章 熟练操作字符串.ppt 第5章 程序的控制结构.ppt 第6章 函数.ppt 第7章 对象与类.ppt 第8章 程序调试和异常处理.ppt 第9章 模块与类库.ppt 第10章 日期和时间.ppt 第11章 迭代器、生成器与装饰器.ppt 第12章 ...

    Python多线程编程

    Python多线程编程文档说明 多进程编程 一、 multiprocessing 模块 1. multiprocessing 模块提供了多进程编程的能力 它的API非常类似于 threading 模块,但是也提供了一些threading 模块不具有的能力 相比于线程,它...

    Python11 多线程.docx

    ..Python11 多线程.docx

    Python11 多线程.pdf

    ..Python11 多线程.pdf

    python编程教案一.pdf

    python编程教案一.pdfpython编程教案一.pdfpython编程教案一.pdfpython编程教案一.pdfpython编程教案一.pdfpython编程教案一.pdf

    清华大学精品Python学习PPT课件-第3章 Python流程控制.pptx

    清华大学精品Python学习PPT课件-第4章 Python组合数据类型.pptx 清华大学精品Python学习PPT课件-第5章 Python正则表达式.pptx 清华大学精品Python学习PPT课件-第6章 Python函数.pptx 清华大学精品Python学习PPT课件-...

    python27_d.lib

    python27_d.lib python27的debug版本的动态库文件

    PYTHON网络编程基础.pdf

    Python的`asyncio`库提供了一种事件驱动的编程模型,允许在单线程中处理多个并发任务。 8. **数据传输格式**:如JSON、XML、CSV等,Python有对应的库如`json`、`xml.etree.ElementTree`和`csv`进行解析和生成。 9....

    PYTHON学习资料包.zip

    "由浅到深"意味着它包括了Python的基本语法、数据类型、控制结构、函数、模块、面向对象编程等初级内容,以及可能涉及的中级和高级主题,如异常处理、多线程、网络编程、数据库操作、数据分析、机器学习等。...

    Wrox.Beginning.Python.Using.Python.2.6.and.Python3.1.Feb.2010.rar

    《Wrox.Beginning.Python.Using.Python.2.6.and.Python3.1.Feb.2010》这本书是面向初学者的一本Python编程教程,它涵盖了Python 2.6和Python 3.1两个主要版本。这本书旨在帮助读者从零开始,逐步掌握Python语言的...

Global site tag (gtag.js) - Google Analytics