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 排列组合之itertools
Mar 20 Python
跟老齐学Python之编写类之四再论继承
Oct 11 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
Python 从相对路径下import的方法
Dec 04 Python
详解小白之KMP算法及python实现
Apr 04 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
python getpass实现密文实例详解
Sep 24 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
Dec 31 Python
Python基于Socket实现简单聊天室
Feb 17 Python
Python 实现平台类游戏添加跳跃功能
Mar 27 Python
python实现自动打卡的示例代码
Oct 10 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基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
package.json文件配置详解
2017/06/15 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
Django视图、传参和forms验证操作
2020/07/15 Python
Python 绘制可视化折线图
2020/07/22 Python
Python过滤序列元素的方法
2020/07/31 Python
Python识别验证码的实现示例
2020/09/30 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
幼儿园教师工作制度
2014/01/22 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
硕士生找工作求职信
2014/07/05 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
财务工作检讨书
2014/10/29 职场文书
学校党支部承诺书
2015/04/30 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题