Python连载36-线程数量限制、Timer、可重入锁
一、允许一个资源最多由几个线程同时进行 命令行:threading.Semaphore(个数) 代表现在最多有几个线程可以进行操作 import threading import time #参数定义了最多几个线程可以使用资源 semaphore = threading.Semaphore(3)#这里就是指最多有三个线程可以进行操作 def func(): if semaphore.acquire(): for i in range(2): print(threading.current_thread().getName() + "get semapore") time.sleep(5) semaphore.release() print(threading.current_thread().getName() + "release semaphore") for i in range(8): t1 = threading.Thread(target=func,args=()) t1.start() 二、Timer讲解 格式:threading.Timer(时间间隔,函数) 代表这个函数在“时间间隔”的时间之后启动 def func2(): print("I am running.....") time.sleep(3) print("I an done.......") if _