python线程锁(thread)学习示例


Posted in Python onDecember 04, 2013
# encoding: UTF-8
import thread
import time# 一个用于在线程中执行的函数
def func():
    for i in range(5):
        print 'func'
        time.sleep(1)
    # 结束当前线程
    # 这个方法与thread.exit_thread()等价
    thread.exit() # 当func返回时,线程同样会结束
# 启动一个线程,线程立即开始运行
# 这个方法与thread.start_new_thread()等价
# 第一个参数是方法,第二个参数是方法的参数
thread.start_new(func, ()) # 方法没有参数时需要传入空tuple
# 创建一个锁(LockType,不能直接实例化)
# 这个方法与thread.allocate_lock()等价
lock = thread.allocate()
# 判断锁是锁定状态还是释放状态
print lock.locked()
# 锁通常用于控制对共享资源的访问
count = 0
# 获得锁,成功获得锁定后返回True
# 可选的timeout参数不填时将一直阻塞直到获得锁定
# 否则超时后将返回False
if lock.acquire():
    count += 1
    # 释放锁
    lock.release()
# thread模块提供的线程都将在主线程结束后同时结束
time.sleep(6)

thread 模块提供的其他方法:
thread.interrupt_main(): 在其他线程中终止主线程。
thread.get_ident(): 获得一个代表当前线程的魔法数字,常用于从一个字典中获得线程相关的数据。这个数字本身没有任何含义,并且当线程结束后会被新线程复用。

thread还提供了一个ThreadLocal类用于管理线程相关的数据,名为 thread._local,threading中引用了这个类。

Python 相关文章推荐
Python进阶篇之字典操作总结
Nov 16 Python
Python反射和内置方法重写操作详解
Aug 27 Python
Python 获取中文字拼音首个字母的方法
Nov 28 Python
Python编程中flask的简介与简单使用
Dec 28 Python
python3射线法判断点是否在多边形内
Jun 28 Python
Python如何实现动态数组
Nov 02 Python
new_zeros() pytorch版本的转换方式
Feb 18 Python
Python计算信息熵实例
Jun 18 Python
python线性插值解析
Jul 05 Python
浅谈Python 中的复数问题
May 19 Python
Python&Matlab实现樱花的绘制
Apr 07 Python
pyv8学习python和javascript变量进行交互
Dec 04 #Python
python使用PyV8执行javascript代码示例分享
Dec 04 #Python
python解析xml文件实例分享
Dec 04 #Python
python抓取某汽车网数据解析html存入excel示例
Dec 04 #Python
python共享引用(多个变量引用)示例代码
Dec 04 #Python
python函数返回多个值的示例方法
Dec 04 #Python
python sys模块sys.path使用方法示例
Dec 04 #Python
You might like
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
python cookielib 登录人人网的实现代码
2012/12/19 Python
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
python实现简单的socket server实例
2015/04/29 Python
Python读取网页内容的方法
2015/07/30 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
pandas 层次化索引的实现方法
2019/07/06 Python
python psutil模块使用方法解析
2019/08/01 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
学校献爱心活动总结
2014/07/08 职场文书
信用卡工作证明模板
2014/09/14 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
安全隐患整改报告
2014/11/06 职场文书
自荐信格式范文
2015/03/04 职场文书
无工作证明怎么写
2015/06/15 职场文书