python多线程threading.Lock锁用法实例

本文实例讲述了python多线程threading.lock锁的用法实例,分享给大家供大家参考。具体分析如下:

python的锁可以独立提取出来

复制代码 代码如下:mutex = threading.Lock()
#锁的使用
#创建锁
mutex = threading.Lock()
#锁定
mutex.acquire([timeout])
#释放
mutex.release()
锁定方法acquire可以有一个超时时间的可选参数timeout。如果设定了timeout,则在超时后通过返回值可以判断是否得到了锁,从而可以进行一些其他的处理。

复制代码 代码如下:#!/usr/bin/env python
#coding=utf-8
import threading
import time
 
class MyThread(threading.Thread):
    def run(self):
        global num
        time.sleep(1)
 
        if mutex.acquire(1): 
            num = num+1
            msg = self.name+’ set num to ‘+str(num)
            print msg
            mutex.release()
num = 0
mutex = threading.Lock()
def test():
    for i in range(5):
        t = MyThread()
        t.start()
if __name__ == ‘__main__’:
    test()
Thread-1 set num to 1
Thread-3 set num to 2
Thread-4 set num to 3
Thread-5 set num to 4
Thread-2 set num to 5

希望本文所述对大家的Python程序设计有所帮助。

立即学习“Python免费学习笔记(深入)”;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2291737.html

(0)
上一篇 2025年2月28日 01:15:49
下一篇 2025年2月21日 16:00:16

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python分割文件的常用方法

    本文大家整理了一些比较好用的关于python分割文件的方法,方法非常的简单实用。分享给大家供大家参考。具体如下: 例子1 指定分割文件大小 配置文件 config.ini: 复制代码 代码如下:[global]#原文件存放目录dir1=F:…

    编程技术 2025年2月28日
    200
  • 跟老齐学Python之通过Python连接数据库

    用python来编写网站,必须要能够通过python操作数据库,所谓操作数据库,就是通过python实现对数据的连接,以及对记录、字段的各种操作。上一讲提到的那种操作方式,是看官直接通过交互模式来操作数据库。 安装python-MySQLd…

    编程技术 2025年2月28日
    200
  • Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子

    scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。 这里就直接用python的scapy搞。 这里是arp的攻击方式,你可以做成arp攻击。 复制代码 代码如…

    编程技术 2025年2月28日
    200
  • Python性能优化的20条建议

    优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是o(n)和o(1)。不同的场景有不同的优化方式,总得来说,一般有分治…

    编程技术 2025年2月28日
    200
  • Python入门篇之条件、循环

    1.if语句 Python 中的if子句看起来十分熟悉. 它由三部分组成: 关键字本身, 用于判断结果真假的条件表达式, 以及当表达式为真或者非零时执行的代码块. if 语句的语法如下: if expression:   expr_true…

    编程技术 2025年2月28日
    200
  • Python入门篇之字符串

    所有标准的序列操作对字符串都适用,但字符串是不可变的 字符串常量: 单引号:‘spa”m’ 双引号:”spa’m” 三引号:”’…spam&#8…

    编程技术 2025年2月28日
    200
  • Python入门篇之列表和元组

    列表和元组的主要区别在于,列表可以修改,元组则不能。一般情况下,在几乎所有的情况下列表都可以代替元组 例如:使用序列可以表示数据库中一个人的信息(姓名,年龄) 复制代码 代码如下: 立即学习“Python免费学习笔记(深入)”; >&…

    编程技术 2025年2月28日
    200
  • python和shell实现的校验IP地址合法性脚本分享

    一、python校验ip地址合法性 执行效果: python代码: 复制代码 代码如下: 立即学习“Python免费学习笔记(深入)”;  [root@yang python]# vi check_ip.py#!/usr/bin/pytho…

    2025年2月28日
    200
  • Python入门篇之编程习惯与特点

    1.代码风格 在python中,每行程序以换行符代表结束,如果一行程序太长的话,可以用“”符号扩展到下一行。在python中以三引号(“””)括起来的字符串,列表,元组和字典都能跨行使用。并且以小括号(&…

    编程技术 2025年2月28日
    200
  • Python之PyUnit单元测试实例

    本文实例讲述了python之pyunit单元测试,与erlang eunit单元测试很像,分享给大家供大家参考。具体方法如下: 1.widget.py文件如下: 复制代码 代码如下: 立即学习“Python免费学习笔记(深入)”; #!/u…

    编程技术 2025年2月28日
    200

发表回复

登录后才能评论