Mercurial Hosting > luan
annotate src/goodjava/lucene/logging/SemaphoreLock.java @ 2018:5203eb9b0e02
http utf-8
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Fri, 03 Oct 2025 16:45:33 -0600 | 
| parents | 634f6765830e | 
| children | 
| rev | line source | 
|---|---|
| 1538 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 1 package goodjava.lucene.logging; | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 2 | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 3 import java.util.concurrent.Semaphore; | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 4 import java.util.concurrent.TimeUnit; | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 5 | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 6 | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 7 public final class SemaphoreLock { | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 8 private final Semaphore semaphore = new Semaphore(1); | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 9 | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 10 public void unlock() { | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 11 semaphore.release(); | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 12 } | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 13 | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 14 public boolean isLocked() { | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 15 return semaphore.availablePermits() == 0; | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 16 } | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 17 | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 18 public boolean tryLock(long time,TimeUnit unit) throws InterruptedException { | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 19 return semaphore.tryAcquire(time,unit); | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 20 } | 
| 
634f6765830e
use goodjava/lucene/logging
 Franklin Schmidt <fschmidt@gmail.com> parents: diff
changeset | 21 } | 
