Concept Flow - Counting semaphore for resource pools
Initialize semaphore count = N
Task requests resource
Check semaphore count > 0?
No→Task waits
Yes
Decrement semaphore count
Task uses resource
Task releases resource
Increment semaphore count
Task requests resource
The counting semaphore starts with a count equal to available resources. Tasks request resources by decrementing the count if available, or wait if none. When done, tasks release resources by incrementing the count.
