例子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)