Code example for ReentrantLock

Methods: tryLock, unlock

0
	 */ 
	public void doWork(final WorkParallelizer parallelizer) {
		LOG.debug("Iniciando ejecucion min-max[{}]", this);
		boolean acquired;
		try { 
			acquired = lockDeEjecucion.tryLock(MAXIMO_PERMITIDO_PARA_ADQUIRIR_LOCK, TimeUnit.MILLISECONDS);
		} catch (final InterruptedException e) {
			LOG.debug("Interrupción mientras esperabamos lock para ejecutar. Nos cancelaron?", e);
			return; 
		} 
		if (!acquired) {
			throw new UnhandledConditionException("No fue posible adquirir el lock para ejecutar la tarea[" + this
					+ "]. Hay un thread bloqueado?"); 
		} 
		try { 
			ejecutarSincronizado(parallelizer);
		} finally { 
			lockDeEjecucion.unlock();
		} 
	} 
 
	/** 
	 * Ejecuta esta tarea asegurando que es el único thread