Example usage for java.util.concurrent.locks ReentrantLock unlock

List of usage examples for java.util.concurrent.locks ReentrantLock unlock

Introduction

In this page you can find the example usage for java.util.concurrent.locks ReentrantLock unlock.

Prototype

public void unlock() 

Source Link

Document

Attempts to release this lock.

Usage

From source file:Main.java

/**
 * signal a condition// w w  w  . ja v a 2  s. c om
 * @param lock
 * @param cond
 */
public static void signal(ReentrantLock lock, Condition cond) {
    lock.lock();
    try {
        cond.signal();
    } finally {
        lock.unlock();
    }
}

From source file:Main.java

/**
 * signal all on a condition/* w  ww.  j  av  a 2s .  co m*/
 * @param lock
 * @param cond
 */
public static void signalAll(ReentrantLock lock, Condition cond) {
    lock.lock();
    try {
        cond.signalAll();
    } finally {
        lock.unlock();
    }
}

From source file:io.nuclei.splice.internal.FileManager.java

public static void unlock(FileRef ref) {
    synchronized (sLocks) {
        ReentrantLock lock = sLocks.get(ref);
        sLocks.remove(ref);/* w  ww .j  a  v a  2s .c  om*/
        lock.unlock();
        sLocks.notifyAll();
    }
}

From source file:eu.riscoss.server.DBConnector.java

private static void unlock(String domain) {

    ReentrantLock lock = locks.get(domain);

    if (lock == null)
        return;//from   w w  w .j a  v a 2  s  .  c o m

    if (lock.getHoldCount() > 0) {
        System.out.println("'" + domain + "' UNLock by " + Thread.currentThread());
        //         Thread.dumpStack();
        lock.unlock();
        //         locks.remove( domain );
    }
}

From source file:smanilov.mandelbrot.compute.Computer.java

private static void saveImage(Image drawing, ReentrantLock drawingLock) {
    drawingLock.lock();/* www .j a  va  2 s  . c o m*/
    try {
        ImageIO.write((RenderedImage) drawing, "png", new File("mandelbrot.png"));
    } catch (IOException e) {
        e.printStackTrace();
    }
    drawingLock.unlock();
}

From source file:io.nuclei.splice.internal.FileManager.java

public static ReentrantLock lock(FileRef ref) {
    ReentrantLock lock;
    boolean locked;
    synchronized (sLocks) {
        lock = sLocks.get(ref);/*from   www  .jav  a 2 s  .  c  o m*/
        if (lock == null) {
            lock = new ReentrantLock();
            sLocks.put(ref, lock);
        }
        locked = lock.tryLock();
    }
    if (!locked) {
        while (true) {
            synchronized (sLocks) {
                try {
                    sLocks.wait();
                } catch (InterruptedException ignore) {
                }
                if (lock.tryLock()) {
                    ReentrantLock newLock = sLocks.get(ref);
                    if (newLock == null) {
                        sLocks.put(ref, lock);
                        break;
                    } else if (newLock != lock) {
                        lock.unlock();
                        lock = newLock;
                        if (lock.tryLock()) {
                            break;
                        }
                    } else {
                        break;
                    }
                }
            }
        }
    }
    return lock;
}

From source file:org.broadleafcommerce.core.web.order.SessionOrderLockManager.java

@Override
public void releaseLock(Object lockObject) {
    ReentrantLock lock = (ReentrantLock) lockObject;
    lock.unlock();
}

From source file:com.chicm.cmraft.util.CappedPriorityBlockingQueue.java

/**
 * Signals a waiting put. Called only from take/poll.
 *///from   w w  w . j  a  v a2  s.  co  m
private void signalNotFull() {
    final ReentrantLock putLock = this.putLock;
    putLock.lock();
    try {
        LOG.debug("singal not full");
        notFull.signal();
    } finally {
        putLock.unlock();
    }
}

From source file:com.shigengyu.hyperion.cache.LocalWorkflowInstanceCache.java

@Override
public <T extends WorkflowInstance> void release(final T workflowInstance) {
    ReentrantLock lock = getLock(workflowInstance.getWorkflowInstanceId());
    if (!lock.isHeldByCurrentThread()) {
        throw new HyperionException(
                "Cannot release workflow instance [{}] as current thread does not own the lock",
                workflowInstance.getWorkflowInstanceId());
    }// w  w  w.ja  v a2 s .c  om
    lock.unlock();
}

From source file:org.apache.openejb.resource.jdbc.dbcp.BasicDataSource.java

public void setJdbcUrl(final String string) {
    final ReentrantLock l = lock;
    l.lock();/*w w  w.j  ava  2 s.c  o m*/
    try {
        super.setUrl(string);
    } finally {
        l.unlock();
    }
}