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使用7z解压软件备份文件脚本分享
Feb 21 Python
linux 下实现python多版本安装实践
Nov 18 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
python放大图片和画方格实现算法
Mar 30 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
Linux上使用Python统计每天的键盘输入次数
Apr 17 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
python计算n的阶乘的方法代码
Oct 25 Python
tensorflow常用函数API介绍
Apr 19 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
Python如何安装第三方模块
May 28 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 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使用递归生成文章树
2015/04/21 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
php封装一个异常的处理类
2017/06/08 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
javascript常用方法汇总
2014/12/02 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
python使用百度翻译进行中翻英示例
2014/04/14 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
Python登录系统界面实现详解
2019/06/25 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
四年的个人工作自我评价
2013/12/10 职场文书
学习教师法的心得体会
2014/09/03 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
工作检讨书怎么写
2014/10/10 职场文书
道士塔读书笔记
2015/06/30 职场文书
建房合同协议书
2016/03/21 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
Python Pandas 删除列操作
2022/03/16 Python