@Override public void run() { try { if (!lock.tryLock()) { lockFailed.countDown(); } if (!lock.tryLock(1, TimeUnit.SECONDS)) { lockFailed.countDown(); } if (lock.tryLock(5, TimeUnit.SECONDS)) { // Test the reentrant park as well if (lock.tryLock(1, TimeUnit.SECONDS)) { if (lock.tryLock()) { lockAcquired.countDown(); lock.unlock(); } lock.unlock(); } lock.unlock(); } } catch (InterruptedException e) { // Shouldn't happen LOG.error(e.getMessage(), e); } } };
@Override public void run() { try { if (!lock2.tryLock()) { lockFailed.countDown(); } if (!lock2.tryLock(1, TimeUnit.SECONDS)) { lockFailed.countDown(); } if (lock2.tryLock(5000, TimeUnit.SECONDS)) { // Test the reentrant park as well if (lock2.tryLock(1, TimeUnit.SECONDS)) { if (lock2.tryLock()) { lockAcquired.countDown(); lock2.unlock(); } lock2.unlock(); } lock2.unlock(); } } catch (InterruptedException e) { // Shouldn't happen LOG.error(e.getMessage(), e); } } };
Assert.assertTrue(lock.tryLock()); lock.unlock(); } finally {
Assert.assertTrue(lock1.tryLock()); lock1.unlock(); } finally {