393 |
|
final CountDownLatch aboutToWait = new CountDownLatch(1); |
394 |
|
Thread t = newStartedThread(new CheckedRunnable() { |
395 |
|
public void realRun() throws InterruptedException { |
396 |
+ |
long startTime = System.nanoTime(); |
397 |
|
for (int i = 0; i < SIZE; ++i) { |
397 |
– |
long t0 = System.nanoTime(); |
398 |
|
assertEquals(i, (int) q.poll(LONG_DELAY_MS, MILLISECONDS)); |
399 |
– |
assertTrue(millisElapsedSince(t0) < SMALL_DELAY_MS); |
399 |
|
} |
401 |
– |
long t0 = System.nanoTime(); |
400 |
|
aboutToWait.countDown(); |
401 |
|
try { |
402 |
|
q.poll(LONG_DELAY_MS, MILLISECONDS); |
403 |
|
shouldThrow(); |
404 |
|
} catch (InterruptedException success) { |
405 |
< |
assertTrue(millisElapsedSince(t0) < MEDIUM_DELAY_MS); |
405 |
> |
assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); |
406 |
|
} |
407 |
|
}}); |
408 |
|
|
409 |
|
aboutToWait.await(); |
410 |
< |
waitForThreadToEnterWaitState(t, SMALL_DELAY_MS); |
410 |
> |
waitForThreadToEnterWaitState(t, LONG_DELAY_MS); |
411 |
|
t.interrupt(); |
412 |
< |
awaitTermination(t, MEDIUM_DELAY_MS); |
412 |
> |
awaitTermination(t); |
413 |
|
} |
414 |
|
|
415 |
|
/** |