Semaphore,是一种带计数的线程同步机制,当调用release时,增加计数,当acquire时,减少计数,当计数为0时,自动阻塞,等待release被调用。
在Python中存在两种Semaphore,一种就是纯粹的Semaphore,另一种是BoundedSemaphore。
Semaphore
: 在调用release()
函数时,不会检查,增加的计数是否超过上限(没有上限,会一直上升)BoundedSemaphore
: 在调用release()
函数时,会检查,增加的计数是否超过上限,这样就保证了使用的计数
示例:
1 | maxconnections = 5 |