Python线程下Timer对象、Lock对象和Rlock对象的简单介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python线程下Timer对象、Lock对象和Rlock对象的简单介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1825字,纯文字阅读大概需要3分钟。
内容图文
本篇文章给大家带来的内容是关于Python线程下Timer对象、Lock对象和Rlock对象的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。Timer对象、Lock对象、Rlock对象
Timer对象
Timer对象用于在稍后的某个时间执行一个函数。
语法:
t=Timer(interval,func,args,kwargs)
创建定时器对象,在interval秒后运行函数func,args和kwargs提供传递给func的参数和关键字参数。
在调用start()方法后才能启动计定时器。
常用方法:
t.start():启动定时器。
t.cancal():如果函数还未执行,取消定时器。
Lock对象
原始锁(互斥锁)是一个同步原语,状态有两种:『已锁定』、『未锁定』。
如果状态已经锁定,尝试获取锁将阻塞,直到锁被释放为止。如果有多个线程等待获取锁,当锁被释放时,只有一个线程获得它,获取顺序是不定的。
语法:
lock=Lock()
创建新的Lock对象,初始状态为未锁定。
常用方法:
lock.acquire(blocking):获取锁,如果有必要,需要阻塞到释放锁为止。
如果blocking为false,当无法获取锁时将立即返回False,如果成功获取锁则返回True。
lock.release():释放一个锁,当锁处于未锁定状态时,或者从与原本调用acquire()方法的线程的不同线程调用此方法,将会报错。
Rlock对象
可重入锁是一个类似于Lock对象的同步原语,但同一个线程可以多次获取它。
它允许拥有锁的线程执行嵌套的acquire()和release()操作。在这种情况下,只有最外层的Release()操作才能将锁重置微未锁定状态。
语法:
rlock=RLock()
创建新的可重入锁对象。
常用方法:
rlock.acquire(blocking):获取锁,如果有必要,需要阻塞到锁释放为止。
如果没有线程拥有锁,它将被锁定,而且递归级别被置为1.
如果此线程已经拥有锁,锁的递归级别加1,而且函数立即返回。
rlock.release():通过减少锁的递归级别来释放它。如果在减值后递归级别为0,锁将被重置为未锁定状态。否则,锁将保持已锁定状态。
只能由目前拥有锁的线程来调用此方法。
相关推荐:
Python面向对象编程中的类和对象学习教程
Python多线程同步Lock、RLock、Semaphore、Event实例
以上就是Python线程下Timer对象、Lock对象和Rlock对象的简单介绍的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的Python线程下Timer对象、Lock对象和Rlock对象的简单介绍全部内容,希望文章能够帮你解决Python线程下Timer对象、Lock对象和Rlock对象的简单介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。