6595669: regtest LinkedBlockingQueue/OfferRemoveLoops.java fails
Reviewed-by: dholmes
This commit is contained in:
parent
5f387b52a1
commit
f8092959d4
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @bug 6316155
|
* @bug 6316155 6595669
|
||||||
* @summary Test concurrent offer vs. remove
|
* @summary Test concurrent offer vs. remove
|
||||||
* @author Martin Buchholz
|
* @author Martin Buchholz
|
||||||
*/
|
*/
|
||||||
@ -50,15 +50,18 @@ public class OfferRemoveLoops {
|
|||||||
private static void testQueue(final BlockingQueue<String> q) throws Throwable {
|
private static void testQueue(final BlockingQueue<String> q) throws Throwable {
|
||||||
System.out.println(q.getClass());
|
System.out.println(q.getClass());
|
||||||
final int count = 10000;
|
final int count = 10000;
|
||||||
|
final long quittingTime = System.nanoTime() + 1L * 1000L * 1000L * 1000L;
|
||||||
Thread t1 = new ControlledThread() {
|
Thread t1 = new ControlledThread() {
|
||||||
protected void realRun() {
|
protected void realRun() {
|
||||||
for (int i = 0, j = 0; i < count; i++)
|
for (int i = 0, j = 0; i < count; i++)
|
||||||
while (! q.remove(String.valueOf(i)))
|
while (! q.remove(String.valueOf(i))
|
||||||
|
&& System.nanoTime() - quittingTime < 0)
|
||||||
Thread.yield();}};
|
Thread.yield();}};
|
||||||
Thread t2 = new ControlledThread() {
|
Thread t2 = new ControlledThread() {
|
||||||
protected void realRun() {
|
protected void realRun() {
|
||||||
for (int i = 0, j = 0; i < count; i++)
|
for (int i = 0, j = 0; i < count; i++)
|
||||||
while (! q.offer(String.valueOf(i)))
|
while (! q.offer(String.valueOf(i))
|
||||||
|
&& System.nanoTime() - quittingTime < 0)
|
||||||
Thread.yield();}};
|
Thread.yield();}};
|
||||||
t1.setDaemon(true); t2.setDaemon(true);
|
t1.setDaemon(true); t2.setDaemon(true);
|
||||||
t1.start(); t2.start();
|
t1.start(); t2.start();
|
||||||
|
Loading…
Reference in New Issue
Block a user