diff options
Diffstat (limited to 'java/JACE/Concurrency/RenewObject.java')
-rw-r--r-- | java/JACE/Concurrency/RenewObject.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/java/JACE/Concurrency/RenewObject.java b/java/JACE/Concurrency/RenewObject.java new file mode 100644 index 00000000000..b690958968a --- /dev/null +++ b/java/JACE/Concurrency/RenewObject.java @@ -0,0 +1,36 @@ +package JACE.Concurrency; + +import JACE.ASX.TimedWait; + +class RenewObject extends TimedWait +{ + public RenewObject (int maxYieldTo) + { + yieldTo_ = maxYieldTo; + } + + public boolean condition () + { + return yieldTo_ <= 0; + } + + public void decrementYieldTo() + { + this.yieldTo_--; + } + + public int yieldTo () + { + return this.yieldTo_; + } + + public RenewObject min (RenewObject other) + { + if (other.yieldTo_ < this.yieldTo_) + return other; + else + return this; + } + + private int yieldTo_; +} |