threading.Semaphore()
threading.Semaphore() is a Python function in the Threading Module category. Creates a semaphore that limits concurrent access to a resource. The syntax is threading.Semaphore(value=1). Parameters: value — initial count. Returns: Semaphore object. A typical example: sem = threading.Semaphore(3) # Allow 3 threads at once
with sem:
access_resource(). A close sibling is threading.Thread(), which creates a new thread object that runs the target function with args. A close sibling is thread.Thread.start(), which starts the thread activity. Must be called at most once per thread. A close sibling is thread.Thread.join(), which waits for the thread to terminate. Blocks until timeout or completion. A close sibling is threading.Lock(), which creates a new primitive lock (mutex). Only one thread can acquire the lock at a time. More about this category: Thread-based parallelism — Thread, Lock, Semaphore, Event, Timer. Related Threading Module entries: threading.Thread(), thread.Thread.start(), thread.Thread.join(), threading.Lock(), threading.RLock(), threading.Event().