多线程介绍和多线程模块
线程的特点:
线程的生命周期
开始
运行
结束
线程的退出:
进程执行完成
线程的退出方法
python的系统推出
模块函数
start_new_thread(func, args)
allocate_lock()
exit()
[root@133 managehosts]# vim thread01.py #!/usr/bin/env python #encoding:utf8 import thread import time def func(name , i): for n in xrange(i): print name, n time.sleep(1) thread.start_new_thread(func,(‘声音‘, 3)) thread.start_new_thread(func,(‘画面‘, 3)) time.sleep(3) [root@133 managehosts]# python thread01.py 声音 0 画面 0 声音 1 画面 1 声音 2 画面 2
LockType对象方法
lock= thread.allocate_lock() 生成锁对象
lock.acquire() 加锁
lock.locked() 查看锁状态
lock.release() 多线程调度释放锁,使用前线程必须已经获得锁定,否则将抛出异常。
[root@133 managehosts]# vim thread01.py #!/usr/bin/env python #encoding:utf8 import thread import time def func(name , i, l): for n in xrange(i): print name, n time.sleep(1) l.release() #release解锁 lock = thread.allocate_lock() #申请一把锁 lock.acquire() #获取并使用这把锁 thread.start_new_thread(func,(‘声音‘, 5, lock)) thread.start_new_thread(func,(‘画面‘, 5, lock)) while lock.locked(): #True,pass,一直处于锁定状态 pass print lock.locked() #解锁后,值为False print "Exit main process" [root@133 managehosts]# python thread01.py 声音 画面 00 画面 1 声音 1 画面 2 声音 2 画面 3 声音 3 画面 4 声音 4 False Exit main process
本文出自 “梅花香自苦寒来!” 博客,请务必保留此出处http://daixuan.blog.51cto.com/5426657/1896770
原文:http://daixuan.blog.51cto.com/5426657/1896770