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的collections模块中defaultdict类型的用法
Jul 07 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
wxpython实现图书管理系统
Mar 12 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
python 使用值来排序一个字典的方法
Nov 16 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python如何实现视频转代码视频
Jun 17 Python
postman和python mock测试过程图解
Feb 22 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
使用python实现微信小程序自动签到功能
Apr 27 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
Dec 15 Python
基于Python 函数和方法的区别说明
Mar 24 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
写一个用户在线显示的程序
2006/10/09 PHP
php学习之function的用法
2012/07/14 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
vuex存取值和映射函数使用说明
2020/07/24 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
Python脚本实现集群检测和管理功能
2015/03/06 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
python 产生token及token验证的方法
2018/12/26 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
详解Python实现进度条的4种方式
2020/01/15 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
高中自我鉴定
2013/12/20 职场文书
大型会议策划方案
2014/05/17 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书