319 |
|
* put blocks interruptibly if full |
320 |
|
*/ |
321 |
|
public void testBlockingPut() { |
322 |
+ |
final ArrayBlockingQueue q = new ArrayBlockingQueue(SIZE); |
323 |
|
Thread t = new Thread(new Runnable() { |
324 |
|
public void run() { |
325 |
|
int added = 0; |
326 |
|
try { |
326 |
– |
ArrayBlockingQueue q = new ArrayBlockingQueue(SIZE); |
327 |
|
for (int i = 0; i < SIZE; ++i) { |
328 |
|
q.put(new Integer(i)); |
329 |
|
++added; |
336 |
|
}}); |
337 |
|
try { |
338 |
|
t.start(); |
339 |
< |
Thread.sleep(SHORT_DELAY_MS); |
339 |
> |
Thread.sleep(MEDIUM_DELAY_MS); |
340 |
|
t.interrupt(); |
341 |
|
t.join(); |
342 |
|
} |
994 |
|
for (int i = 0; i < SIZE; ++i) |
995 |
|
assertEquals(l.get(i), new Integer(i)); |
996 |
|
t.join(); |
997 |
< |
assertTrue(q.size() + l.size() == SIZE+1); |
997 |
> |
assertTrue(q.size() + l.size() >= SIZE); |
998 |
|
} catch(Exception e){ |
999 |
|
unexpectedException(); |
1000 |
|
} |