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学习之asyncore模块用法实例教程
Sep 29 Python
Python中的进程分支fork和exec详解
Apr 11 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
浅谈python中requests模块导入的问题
May 18 Python
python 提取文件指定列的方法示例
Aug 07 Python
Flask框架搭建虚拟环境的步骤分析
Dec 21 Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 Python
python中adb有什么功能
Jun 07 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 Python
Python中with上下文管理协议的作用及用法
Mar 18 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 XML操作类DOMDocument
2009/12/16 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
php使用websocket示例详解
2014/03/12 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
python基础教程之Filter使用方法
2017/01/17 Python
深入理解Python中的super()方法
2017/11/20 Python
10款最好的Python开发编辑器
2019/07/03 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
护士试用期自我鉴定
2014/02/08 职场文书
2014年情人节活动方案
2014/02/16 职场文书
小学一年级学生评语
2014/04/22 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
MySQL 原理与优化之Update 优化
2022/08/14 MySQL