271272273274275276277278279280281
HazelcastInstance instance = createHazelcastInstance(); ILock lock = instance.getLock(randomString()); lockByOtherThread(lock); try { lock.unlock(); fail(); } catch (IllegalMonitorStateException expected) { } assertTrue(lock.isLocked());
7172737475767778798081
syncLatch.await(); lock.lock(); condition0.signal(); lock.unlock(); lock.lock(); condition1.signal(); lock.unlock();
7576777879808182838485
condition0.signal(); lock.unlock(); lock.lock(); condition1.signal(); lock.unlock(); assertOpenEventually(latch); } @Test(timeout = 60000)
979899100101102103104105106107
syncLatch.await(); lock.lock(); condition.signalAll(); lock.unlock(); assertOpenEventually(latch); } @Test(timeout = 60000)
120121122123124125126127128129130
syncLatch.await(); lock.lock(); condition0.signalAll(); lock.unlock(); assertTrueDelayed5sec(new AssertTask() { @Override public void run() throws Exception { assertEquals(latch.getCount(), 9);
149150151152153154155156157158159
syncLatch.await(); lock.lock(); condition0.signalAll(); lock.unlock(); assertOpenEventually(latch); } @Test
193194195196197198199200201202203
condition0.signalAll(); lock0.unlock(); lock1.lock(); condition1.signalAll(); lock1.unlock(); assertOpenEventually(latch); } @Test(timeout = 60000)
221222223224225226227228229230231
if (lock.isLockedByCurrentThread()) { count.incrementAndGet(); } } catch (InterruptedException ignored) { } finally { lock.unlock(); } } }); t.start(); Thread.sleep(1000);
232233234235236237238239240241242
assertEquals(false, lock.isLocked()); lock.lock(); assertEquals(true, lock.isLocked()); condition.signal(); lock.unlock(); t.join(); assertEquals(2, count.get()); } @Test(timeout = 60000)
265266267268269270271272273274275
if (lock.isLockedByCurrentThread()) { count.incrementAndGet(); } } catch (InterruptedException ignored) { } finally { lock.unlock(); finalLatch.countDown(); } } }).start();