• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python多线程编程(一):threading模块综述

Python多线程编程(一):threading模块综述

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python threading,python threading模块,python3 threading,python中threading,threading等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁)来互斥线程对共享资源的访问,但暂时无法利用多处理器的优势。在Python中我们主要是通过thread和 threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用 threading模块实现多线程编程。这篇文章我们主要来看看Python对多线程编程的支持。

在语言层面,Python对多线程提供了很好的支持,可以方便地支持创建线程、互斥锁、信号量、同步等特性。下面就是官网上介绍threading模块的基本资料及功能:

实现模块

thread:多线程的底层支持模块,一般不建议使用;
threading:对thread进行了封装,将一些线程的操作对象化。

threading模块

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

Timer与Thread类似,但要等待一段时间后才开始运行;
Lock 锁原语,这个我们可以对全局变量互斥时使用;
RLock 可重入锁,使单线程可以再次获得已经获得的锁;
Condition 条件变量,能让一个线程停下来,等待其他线程满足某个“条件”;
Event 通用的条件变量。多个线程可以等待某个事件发生,在事件发生后,所有的线程都被激活;
Semaphore为等待锁的线程提供一个类似“等候室”的结构;
BoundedSemaphore 与semaphore类似,但不允许超过初始值;
Queue:实现了多生产者(Producer)、多消费者(Consumer)的队列,支持锁原语,能够在多个线程之间提供很好的同步支持。

Thread类

是你主要的线程类,可以创建进程实例。该类提供的函数包括:
getName(self) 返回线程的名字
isAlive(self) 布尔标志,表示这个线程是否还在运行中
isDaemon(self) 返回线程的daemon标志
join(self, timeout=None) 程序挂起,直到线程结束,如果给出timeout,则最多阻塞timeout秒
run(self) 定义线程的功能函数
setDaemon(self, daemonic) 把线程的daemon标志设为daemonic
setName(self, name) 设置线程的名字
start(self) 开始线程执行

Queue提供的类

Queue队列
LifoQueue后入先出(LIFO)队列
PriorityQueue 优先队列

接下来

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

</div>

您可能想查找下面的文章:

  • 在Python中通过threading模块定义和调用线程的方法
  • Python中线程编程之threading模块的使用详解
  • 举例详解Python中threading模块的几个常用方法
  • Python中threading模块join函数用法实例分析
  • python中threading超线程用法实例分析
  • python threading模块操作多线程介绍
  • python threading模块操作多线程介绍
  • Python多线程编程(三):threading.Thread类的重要函数和方法
  • Python多线程编程(一):threading模块综述
  • Python THREADING模块中的JOIN()方法深入理解

相关文章

  • Python使用函数默认值实现函数静态变量的方法
  • Python-嵌套列表list的全面解析
  • 介绍Python中几个常用的类方法
  • Windows下PyMongo下载及安装教程
  • python base64 decode incorrect padding错误解决方法
  • python client使用http post 到server端的代码
  • Python程序设计入门(2)变量类型简介
  • python中异常报错处理方法汇总
  • python模拟登录百度代码分享(获取百度贴吧等级)
  • Python 类与元类的深度挖掘 I【经验】

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 使用Python将数组的元素导出到变量中(unpacking)
    • 使用python检测主机存活端口及检查存活主机
    • 在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
    • python批量修改文件后缀示例代码分享
    • Python的Django框架可适配的各种数据库介绍
    • Python转码问题的解决方法
    • 安装ElasticSearch搜索工具并配置Python驱动的方法
    • Python 常用的安装Module方式汇总
    • 探究Python中isalnum()方法的使用
    • Python使用smtplib模块发送电子邮件的流程详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有