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 IDLE加上自动补全和历史功能
Nov 30 Python
深入理解Python中的super()方法
Nov 20 Python
用python实现对比两张图片的不同
Feb 05 Python
python实现比较文件内容异同
Jun 22 Python
python实现录音小程序
Oct 26 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
Python正则表达式和re库知识点总结
Feb 11 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 Python
python Qt5实现窗体跟踪鼠标移动
Dec 13 Python
python实现连连看游戏
Feb 14 Python
Django import export实现数据库导入导出方式
Apr 03 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 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
E路文章系统PHP
2006/12/11 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
js实现3D旋转相册
2020/08/02 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
用实例分析Python中method的参数传递过程
2015/04/02 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
2018/03/19 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
餐饮加盟计划书
2014/01/10 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
安全协议书范本
2014/04/21 职场文书
调解书格式范本
2015/05/20 职场文书
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python
Python socket如何解析HTTP请求内容
2022/02/12 Python