@Override public void initialize() { sync = new Mutex(); assertTrue(sync.getSharedQueuedThreads().isEmpty()); sync.acquire(1); assertTrue(sync.getSharedQueuedThreads().isEmpty()); }
public void thread3() { waitForTick(1); assertTrue(sync.getSharedQueuedThreads().isEmpty()); waitForTick(3); assertTrue(sync.getSharedQueuedThreads().isEmpty()); getThread(1).interrupt(); waitForTick(4); assertTrue(sync.getSharedQueuedThreads().isEmpty()); sync.release(1); }
/** getSharedQueuedThreads does not include exclusively waiting threads */ public void testGetSharedQueuedThreads_Exclusive() { final Mutex sync = new Mutex(); assertTrue(sync.getSharedQueuedThreads().isEmpty()); sync.acquire(); assertTrue(sync.getSharedQueuedThreads().isEmpty()); Thread t1 = newStartedThread(new InterruptedSyncRunnable(sync)); waitForQueuedThread(sync, t1); assertTrue(sync.getSharedQueuedThreads().isEmpty()); Thread t2 = newStartedThread(new InterruptibleSyncRunnable(sync)); waitForQueuedThread(sync, t2); assertTrue(sync.getSharedQueuedThreads().isEmpty()); t1.interrupt(); awaitTermination(t1); assertTrue(sync.getSharedQueuedThreads().isEmpty()); sync.release(); awaitTermination(t2); assertTrue(sync.getSharedQueuedThreads().isEmpty()); }
@Override public void finish() { assertTrue(sync.getSharedQueuedThreads().isEmpty()); }