Per Wramdemark 218ba44dbf Upgrade of maven plugins (#951)
* Upgrade maven plugins

* Upgrade maven plugins

Some general code cleanup was necessary due to upgrade of PMD and checkstyle.

Also needed to add Junit 4 as a dependency due to Mockito.timout issue found here:
https://github.com/mockito/mockito/issues/152
2019-10-05 14:23:20 +03:00
..
2017-11-28 20:55:52 +02:00
2019-10-05 14:23:20 +03:00
2017-11-28 21:28:53 +02:00

layout, title, folder, permalink, categories, tags
layout title folder permalink categories tags
pattern Semaphore semaphore /patterns/semaphore/ Concurrency
Java
Difficulty-Intermediate

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