python线程里哪种模块比较适合


Posted in Python onAugust 02, 2020

在Python中可使用的多线程模块主要有两个,thread和threading模块。thread模块提供了基本的线程和锁的支持,建议新手不要使用。threading模块允许创建和管理线程,提供了更多的同步原语。

thread模块函数:

  • start_new_thread(function, args[, kwargs]):启动新的线程以执行function,返回线程标识。
  • allocate_lock():返回LockType对象。
  • exit():抛出SystemExit异常,如果没有被捕获,线程静默退出。
  • LockType类型锁对象的方法:
  • acquire([waitflag]):无参数,无条件获得锁,如果锁已经被其他线程获取,则等待锁被释放。如果使用整型参数,参数为0,如果锁可获取,则获取且返回True,否则返回False;参数为非0,与无参数相同。
  • locked():返回锁的状态,如果已经被获取,则返回True,否则返回False。
  • release():释放锁。只有已经被获取的锁才能被释放,不限于同一个线程。
  • threading模块提供了更好的线程间的同步机制。threading模块下有如下对象:
  • Thread
  • Lock
  • RLock
  • Condition
  • Event
  • Semaphore
  • BoundedSemaphore
  • Timer
  • threading模块内还有如下的函数:
  • active_count()
  • activeCount():返回当前alive的线程数量
  • Condition():返回新的条件变量对象
  • current_thread()
  • currentThread():返回当前线程对象
  • enumerate():返回当前活动的线程,不包括已经结束和未开始的线程,包括主线程及守护线程。
  • settrace(func):为所有线程设置一个跟踪函数。
  • setprofile(func):为所有纯种设置一个profile函数。

内容扩展:

Python线程模块

常用参数说明

  • target 表示调用对象,几子线程要执行的的任务
  • name 子线程的名称
  • args 传入target函数中的位置参数,是一个元组,参数后必须加逗号

常用的方法

  • Thread.star(self)启动进程
  • Thread.join(self)阻塞进程,主线程等待
  • Thread.setDaemon(self,daemoic) 将子线程设置为守护线程
  • Thread.getName(self.name) 获取线程名称
  • Thread.setName(self.name) 设置线程名称
import time
from threading import Thread
 
 
def hello(name):
  print('hello {}'.format(name))
  time.sleep(3)
  print('hello bye')
 
def hi():
  print('hi')
  time.sleep(3)
  print('hi bye')
 
if __name__ == '__main__':
 
  hello_thread = Thread(target=hello, args=('wan zong',),name='helloname') #target表示调用对象。name是子线程的名称。args 传入target函数中的位置参数,是个元组,参数后必须加逗号
  hi_thread = Thread(target=hi)
 
  hello_thread.start() #开始执行线程任务,启动进程
  hi_thread.start()
 
  hello_thread.join() #阻塞进程 等到进程运行完成 阻塞调用,主线程进行等待
  hi_thread.join()
 
  print(hello_thread.getName())
  print(hi_thread.getName()) #会默认匹配名字
 
  hi_thread.setName('hiname')
  print(hi_thread.getName())
 
  print('主线程运行完成!')

到此这篇关于python线程里哪种模块比较适合的文章就介绍到这了,更多相关python线程用什么模块好内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅谈Python中数据解析
May 05 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
python实现求特征选择的信息增益
Dec 18 Python
Python对ElasticSearch获取数据及操作
Apr 24 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
python 的 scapy库,实现网卡收发包的例子
Jul 23 Python
Python实现生成bmp图像的方法
Jun 13 Python
Python一些基本的图像操作和处理总结
Jun 23 Python
python缩进长度是否统一
Aug 02 #Python
Python接收手机短信的代码整理
Aug 02 #Python
Python改变对象的字符串显示的方法
Aug 01 #Python
Python 如何定义匿名或内联函数
Aug 01 #Python
Python sqlalchemy时间戳及密码管理实现代码详解
Aug 01 #Python
Python如何读写二进制数组数据
Aug 01 #Python
Python将字典转换为XML的方法
Aug 01 #Python
You might like
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
twig模板常用语句实例小结
2016/02/04 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
Javascript hasOwnProperty 方法 & in 关键字
2008/11/26 Javascript
js 学习笔记(三)
2009/12/29 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
联想智利官方网站:Lenovo Chile
2020/06/03 全球购物
介绍一下Java中标识符的命名规则
2014/02/03 面试题
日语系毕业求职信
2014/07/27 职场文书
2015年教研员工作总结
2015/05/26 职场文书
工资证明格式模板
2015/06/12 职场文书
任长霞观后感
2015/06/16 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书