python线程锁(thread)学习示例
2013-12-04 00:00
886 查看
# 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线程锁(thread)学习示例
- Python学习之Thread线程
- 重新学习python线程应用使用thread类,改写程序
- Python学习笔记-线程的使用
- Python模块学习 ---- thread 多线程处理
- python 线程、进程学习笔记:全局解释器锁
- Thread学习(三)多个线程访问共享对象和数据的方式
- python学习之进程线程学习二
- Dubbo -- 系统学习 笔记 -- 示例 -- 线程模型
- 学习通过Thread+Handler实现非UI线程更新UI组件(转)
- (10)线程Thread示例3
- 关于THREAD线程中CurrentCulture与CurrentUICulture的学习及疑问
- [Python]Threading.Thread之Daemon线程
- java Thread类 线程学习 一
- 线程学习--继承Thread类
- 【Python学习】Thread笔记(1)
- Python学习笔记-3(线程、进程、同步等)
- javaThread学习(chapter1—线程的创建)
- python学习笔记(十) - 进程和线程
- java线程基础巩固---Thread中断Interrupt方法学习&采用优雅的方式结束线程生命周期