-
- /**
- * Tests the operation of the lock.
- */
- public void testLock() throws InterruptedException {
- Thread t1 = runThread();
- Thread t2 = runThread();
- TimingUtils.sleep(SLEEP_TIME / 10); // give threads a chance to start
- // up.
- assertEquals(2, _tracker.getEventCount(STARTED)); // both threads
- // should have
- // started.
- assertEquals(1, _tracker.getEventCount(ACQUIRED)); // one thread has
- // acquired the
- // lock.
- TimingUtils.sleep(SLEEP_TIME);
- assertEquals(2, _tracker.getEventCount(ACQUIRED)); // now the other
- // thread could also
- // acquire the lock
- assertEquals(1, _tracker.getEventCount(RELEASED)); // and the first
- // thread has
- // released it.
- TimingUtils.sleep(SLEEP_TIME);
- assertEquals(2, _tracker.getEventCount(RELEASED)); // both threads
- // should be
- // finished.
- t1.join();
- t2.join();
- }