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连接mongodb操作数据示例(mongodb数据库配置类)
Dec 31 Python
Python 字典dict使用介绍
Nov 30 Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
python实现五子棋小程序
Jun 18 Python
pytorch逐元素比较tensor大小实例
Jan 03 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
python mock测试的示例
Oct 19 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用正则判断是否为数字的方法
2016/03/25 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
你的 mixin 真的兼容 ECMAScript 5 吗?
2013/04/11 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
python自动化测试实例解析
2014/09/28 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
python executemany的使用及注意事项
2017/03/13 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
python实现求特征选择的信息增益
2018/12/18 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Python with标签使用方法解析
2020/01/17 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
Python configparser模块操作代码实例
2020/06/08 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
小学生评语集锦
2014/04/18 职场文书
公司总经理任命书
2014/06/05 职场文书
2014年教师节寄语
2014/08/11 职场文书
同事去世追悼词
2015/06/23 职场文书
商业计划书之服装
2019/09/09 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Python 数据结构之十大经典排序算法一文通关
2021/10/16 Python