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脚本来控制Windows Azure的简单教程
Apr 16 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Python调用微信公众平台接口操作示例
Jul 08 Python
python 对象和json互相转换方法
Mar 22 Python
基于Python Numpy的数组array和矩阵matrix详解
Apr 04 Python
python实现机器学习之元线性回归
Sep 06 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
对Django中的权限和分组管理实例讲解
Aug 16 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
python安装本地whl的实例步骤
Oct 12 Python
python循环输出三角形图案的例子
Nov 22 Python
python实现处理mysql结果输出方式
Apr 09 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
sphinx增量索引的一个问题
2011/06/14 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
div层的移动及性能优化
2010/11/16 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
python主要用于哪些方向
2020/07/05 Python
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
面向对象编程OOP的优点
2013/01/22 面试题
Python如何定义一个函数
2015/09/01 面试题
酒店人事专员岗位职责
2013/12/19 职场文书
2015年招聘工作总结
2014/12/12 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers