diff --git a/mutex/etc/mutex.png b/mutex/etc/mutex.png new file mode 100644 index 000000000..3b7c966f8 Binary files /dev/null and b/mutex/etc/mutex.png differ diff --git a/mutex/index.md b/mutex/index.md new file mode 100644 index 000000000..24edad7eb --- /dev/null +++ b/mutex/index.md @@ -0,0 +1,30 @@ +--- +layout: pattern +title: Mutex +folder: mutex +permalink: /patterns/mutex/ +categories: Lock +tags: + - Java + - Difficulty-Beginner +--- + +## Also known as +Mutual Exclusion Lock +Binary Semaphore + +## Intent +Create a lock which only allows a single thread to access a resource at any one instant. + +![alt text](./etc/mutex.png "Mutex") + +## Applicability +Use a Mutex when + +* you need to prevent two threads accessing a critical section at the same time +* concurrent access to a resource could lead to a race condition + +## Credits + +* [Lock (computer science)] (http://en.wikipedia.org/wiki/Lock_(computer_science)) +* [Semaphores] (http://tutorials.jenkov.com/java-concurrency/semaphores.html) diff --git a/mutex/pom.xml b/mutex/pom.xml index 5b7058083..07c2d793c 100644 --- a/mutex/pom.xml +++ b/mutex/pom.xml @@ -2,7 +2,7 @@