Files
java-design-patterns/semaphore/index.md
gwildor28 6e4b269939 Update according to review comments #397
- Added descriptions
- Added junit tests
- Added javadoc
- Added index.md
- Added class diagrams
2016-03-24 18:13:37 +00:00

864 B

layout, title, folder, permalink, categories, tags
layout title folder permalink categories tags
pattern Semaphore semaphore /patterns/semaphore/ Lock
Java
Difficulty-Beginner

Also known as

Counting Semaphore

Intent

Create a lock which mediates access to a pool of resources. Only a limited number of threads, specified at the creation of the semaphore, can access the resources at any given time. A semaphore which only allows one concurrent access to a resource is called a binary semaphore.

alt text

Applicability

Use a Semaphore when

  • you have a pool of resources to allocate to different threads
  • concurrent access to a resource could lead to a race condition

Credits