2016-08-30 13:29:12 +02:00
|
|
|
@startuml
|
|
|
|
package com.iluwatar.mutex {
|
2016-11-26 12:51:06 +01:00
|
|
|
class App {
|
|
|
|
+ App()
|
|
|
|
+ main(args : String[]) {static}
|
|
|
|
}
|
2016-09-18 17:51:09 +03:00
|
|
|
class Jar {
|
|
|
|
- beans : int
|
|
|
|
- lock : Lock
|
|
|
|
+ Jar(beans : int, lock : Lock)
|
|
|
|
+ takeBean() : boolean
|
|
|
|
}
|
2016-08-30 13:29:12 +02:00
|
|
|
interface Lock {
|
|
|
|
+ acquire() {abstract}
|
|
|
|
+ release() {abstract}
|
|
|
|
}
|
|
|
|
class Mutex {
|
|
|
|
- owner : Object
|
|
|
|
+ Mutex()
|
|
|
|
+ acquire()
|
|
|
|
+ getOwner() : Object
|
|
|
|
+ release()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Jar --> "-lock" Lock
|
|
|
|
Mutex ..|> Lock
|
|
|
|
@enduml
|