Semaphore¶
A semaphore uses permits to bound how many operations may use a resource concurrently.
flowchart LR
J[Junior: permits] --> M[Middle: pools and cancellation] --> S[Senior: fairness and overload] --> P[Professional: resource governance]
flowchart LR
Jobs --> Permit{3 permits} --> API[Limited API]
API --> Release[Release permit]
| Level | Guide | You are done when |
|---|---|---|
| Junior | Start | You can bound concurrent work. |
| Middle | Apply | You can avoid permit leaks. |
| Senior | Operate | You can handle fairness and overload. |
| Professional | Design | You can govern resources across workloads. |
Practice rule: Acquire immediately before use and release exactly once in guaranteed cleanup.