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


Posted in Python onNovember 01, 2014

本文实例讲述了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 相关文章推荐
python求列表交集的方法汇总
Nov 10 Python
Python使用scrapy抓取网站sitemap信息的方法
Apr 08 Python
python常用知识梳理(必看篇)
Mar 23 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 Python
python环境下安装opencv库的方法
Mar 05 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 Python
python实现登录与注册系统
Nov 30 Python
python分割文件的常用方法
Nov 01 #Python
跟老齐学Python之通过Python连接数据库
Oct 28 #Python
Python对象体系深入分析
Oct 28 #Python
Python中类的继承代码实例
Oct 28 #Python
Python列表list数组array用法实例解析
Oct 28 #Python
python实现无证书加密解密实例
Oct 27 #Python
深入理解Python 代码优化详解
Oct 27 #Python
You might like
php 验证码实例代码
2010/06/01 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
基于jquery封装的一个js分页
2011/11/15 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
js实现五星评价功能
2017/03/08 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
python TCP包注入方式
2020/05/05 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
幼儿园教师请假制度
2014/01/16 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
中班上学期个人总结
2015/02/12 职场文书
学术研讨会主持词
2015/07/04 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android