List of usage examples for java.util.concurrent.locks ReentrantLock unlock
public void unlock()
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(); } }