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爬虫功能
Dec 31 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
Dec 10 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
Dec 03 Python
django manage.py扩展自定义命令方法
May 27 Python
Python for循环与getitem的关系详解
Jan 02 Python
Tensorflow读取并输出已保存模型的权重数值方式
Jan 04 Python
django中嵌套的try-except实例
May 21 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
Python requests HTTP验证登录实现流程
Nov 05 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 Python
python使用pymysql模块操作MySQL
Jun 16 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转成EXE文件
2006/10/09 PHP
BBS(php & mysql)完整版(四)
2006/10/09 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
js有序数组的连接问题
2013/10/01 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
python如何在终端里面显示一张图片
2016/08/17 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
大明湖导游词
2015/02/03 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
2019销售早会主持词
2019/06/27 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
MySQL 慢查询日志深入理解
2021/04/22 MySQL