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 序列化 pickle/cPickle模块使用介绍
Nov 30 Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
python select.select模块通信全过程解析
Sep 20 Python
使用python将图片格式转换为ico格式的示例
Oct 22 Python
python微信撤回监测代码
Apr 29 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
Python socket非阻塞模块应用示例
Sep 12 Python
python性能测量工具cProfile使用解析
Sep 26 Python
python 实现方阵的对角线遍历示例
Nov 29 Python
Pycharm+Python工程,引用子模块的实现
Mar 09 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
使用python爬取抖音app视频的实例代码
Dec 01 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中防止恶意刷新页面的代码小结
2012/10/31 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
PHP实现简易计算器功能
2020/08/28 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
My Desktop :) 桌面式代码
2008/12/29 Javascript
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
javascript检测浏览器flash版本的实现代码
2011/12/06 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
JS获得选取checkbox整行数据的方法
2015/01/28 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
python文件操作整理汇总
2014/10/21 Python
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
python导入模块交叉引用的方法
2019/01/19 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
python3对接mysql数据库实例详解
2019/04/30 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
后进生评语大全
2015/01/04 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
python分分钟绘制精美地图海报
2022/02/15 Python