淘先锋技术网

首页 1 2 3 4 5 6 7

测试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次事情

转载于:https://my.oschina.net/tangzhichao/blog/781622