测试1
代码:
#coding=utf-8
import threading
from time import sleep
threadLock = threading.Lock()
def handle1(name,count):
getlock=threadLock.acquire()
print str(name)+"获取锁成功?"+str(getlock)
for i in range(count):
print str(name)+"处理了"+str(i+1)+"次事情"
sleep(1)
threadLock.release()
def handle2(name):
for i in range(10):
print str(name)+"处理了"+str(i+1)+"次事情"
sleep(1)
threading.Thread(target=handle1,args=["张三",5]).start()
threading.Thread(target=handle2,args=('李四',)).start()
print "main thread end"
打印:
张三获取锁成功?True
张三处理了1次事情
main thread end
李四处理了1次事情
张三处理了2次事情
李四处理了2次事情
李四处理了3次事情
张三处理了3次事情
李四处理了4次事情
张三处理了4次事情
李四处理了5次事情
张三处理了5次事情
李四处理了6次事情
李四处理了7次事情
李四处理了8次事情
李四处理了9次事情
李四处理了10次事情
测试2
代码:
#coding=utf-8
import threading
from time import sleep
threadLock = threading.Lock()
def handle1(name,count):
getlock=threadLock.acquire()
print str(name)+"获取锁成功?"+str(getlock)
for i in range(count):
print str(name)+"处理了"+str(i+1)+"次事情"
sleep(1)
threadLock.release()
def handle2(name):
getlock=threadLock.acquire()
print str(name)+"获取锁成功?:"+str(getlock)
for i in range(10):
print str(name)+"处理了"+str(i+1)+"次事情"
sleep(1)
threadLock.release()
threading.Thread(target=handle1,args=["张三",5]).start()
threading.Thread(target=handle2,args=('李四',)).start()
print "\n main thread end"
打印:
张三获取锁成功?True
张三处理了1次事情
main thread end
张三处理了2次事情
张三处理了3次事情
张三处理了4次事情
张三处理了5次事情
李四获取锁成功?:True
李四处理了1次事情
李四处理了2次事情
李四处理了3次事情
李四处理了4次事情
李四处理了5次事情
李四处理了6次事情
李四处理了7次事情
李四处理了8次事情
李四处理了9次事情
李四处理了10次事情