Package java.util.concurrent.locks

Examples of java.util.concurrent.locks.ReentrantLock.tryLock()


    final ReentrantLock lock = this.lock;
    long deadline = System.nanoTime() + timeoutNanos;
    boolean signalBeforeWaiting = lock.isHeldByCurrentThread();
    boolean interrupted = Thread.interrupted();
    try {
      if (fair || !lock.tryLock()) {
        boolean locked = false;
        do {
          try {
            locked = lock.tryLock(timeoutNanos, TimeUnit.NANOSECONDS);
            if (!locked) {
View Full Code Here


    try {
      if (fair || !lock.tryLock()) {
        boolean locked = false;
        do {
          try {
            locked = lock.tryLock(timeoutNanos, TimeUnit.NANOSECONDS);
            if (!locked) {
              return false;
            }
          } catch (InterruptedException interrupt) {
            interrupted = true;
View Full Code Here

      throws InterruptedException {
    if (guard.monitor != this) {
      throw new IllegalMonitorStateException();
    }
    final ReentrantLock lock = this.lock;
    if (!lock.tryLock(time, unit)) {
      return false;
    }

    boolean satisfied = false;
    try {
View Full Code Here

  public boolean tryEnterIf(Guard guard) {
    if (guard.monitor != this) {
      throw new IllegalMonitorStateException();
    }
    final ReentrantLock lock = this.lock;
    if (!lock.tryLock()) {
      return false;
    }

    boolean satisfied = false;
    try {
View Full Code Here

   * @return whether the monitor was entered
   */
  public boolean enter(long time, TimeUnit unit) {
    long timeoutNanos = unit.toNanos(time);
    final ReentrantLock lock = this.lock;
    if (!fair && lock.tryLock()) {
      return true;
    }
    long deadline = System.nanoTime() + timeoutNanos;
    boolean interrupted = Thread.interrupted();
    try {
View Full Code Here

    long deadline = System.nanoTime() + timeoutNanos;
    boolean interrupted = Thread.interrupted();
    try {
      while (true) {
        try {
          return lock.tryLock(timeoutNanos, TimeUnit.NANOSECONDS);
        } catch (InterruptedException interrupt) {
          interrupted = true;
          timeoutNanos = deadline - System.nanoTime();
        }
      }
View Full Code Here

      public Object acquire(Invocation invocation) throws Throwable
      {
         MutexedObject obj = (MutexedObject) invocation.getTargetObject();
         ReentrantLock lock = obj.getMutex();
         if (!lock.tryLock())
         {
            throw new LockAcquisitionFailureException("Failed to lock for @Mutexed class");
         }

         try
View Full Code Here

      {
         MutexedObject obj = (MutexedObject) invocation.getTargetObject();
         ReentrantLock lock = obj.getMutex();
         try
         {
            if (!lock.tryLock(props.timeout(), props.unit()))
            {
               throw new LockAcquisitionFailureException("Failed to acquire permit for @Semaphored class.  Timeout reached.");
            }
         }
         catch (InterruptedException e)
View Full Code Here

    * If lock is available, poll stale refs and remove them.
    * Called from ForkJoinPool when pools become quiescent.
    */
   static final void helpExpungeStaleExceptions() {
      final ReentrantLock lock = exceptionTableLock;
      if (lock.tryLock()) {
         try {
            expungeStaleExceptions();
         } finally {
            lock.unlock();
         }
View Full Code Here

     * If lock is available, poll stale refs and remove them.
     * Called from ForkJoinPool when pools become quiescent.
     */
    static final void helpExpungeStaleExceptions() {
        final ReentrantLock lock = exceptionTableLock;
        if (lock.tryLock()) {
            try {
                expungeStaleExceptions();
            } finally {
                lock.unlock();
            }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.