信号量
- 它并不能解决安全问题,而是用来限制最大的并发量
# *************信号量,限制同时执行代码的线程数量**************from threading import Semaphore,currentThread,Threadimport times = Semaphore(5) # 限制同时执行代码的线程数量为5,如果为1,就是一个普通的互斥锁def task(): s.acquire() time.sleep(1) print(currentThread().name) s.release()for i in range(10): Thread(target=task).start()
Thread-2Thread-1Thread-5Thread-4Thread-3Thread-7Thread-9Thread-8Thread-10Thread-6