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 list语法学习(带例子)
Nov 01 Python
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
Python遍历目录中的所有文件的方法
Jul 08 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
Jul 03 Python
python输出pdf文档的实例
Feb 13 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
python微信公众号开发简单流程实现
Mar 09 Python
python如何使用代码运行助手
Jul 03 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 Python
python控制台打印log输出重复的解决方法
May 14 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删除数组元素示例分享
2014/02/17 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
js校验表单后提交表单的三种方法总结
2014/02/28 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
node.js实现端口转发
2016/04/14 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
使用Python开发windows GUI程序入门实例
2014/10/23 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
Django框架验证码用法实例分析
2019/05/10 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
女生节标语
2014/06/26 职场文书
结婚通知短信大全
2015/04/17 职场文书
2015年测量员工作总结
2015/05/23 职场文书
高中同学会致辞
2015/08/01 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书