day11——python 多线程之线程锁

来源:互联网 发布:域名被通信局撤销 编辑:程序博客网 时间:2024/06/02 05:08

例子1:


import threading
import time
num=10
def f1(lock):
    global num
    lock.acquire()
    num-=1
    time.sleep(3)
    print(num)
    lock.release()
lock=threading.Lock()
for i in range(10):
    t=threading.Thread(target=f1,args=(lock,))
    t.start()
print(num)


例子二:

import threading
import time
num=100
def f1(i,lock):
    global num
    lock.acquire()
    num-=1
    time.sleep(2)
    print(num,"**",i)
    lock.release()
lock=threading.BoundedSemaphore(5)
for i in range(30):
    t=threading.Thread(target=f1,args=(i,lock,))
    t.start()
print(num)

0 0