Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4910189

Concurrency : In ArrayBlockingQueue containsAll() method doesn't work properly.

XMLWordPrintable

      Execute the following code with Concurrency preliminary test release 1
      and see the result. containsAll() method doesn't return true even for
      a valid list.


      //If the array ArrayBlockingQueue size is 3, then containsAll()
      //method of the queue doesn't return true even for a valid list. But if
      //the array size is 4, it works correctly.
      ArrayBlockingQueue < String > queue = new ArrayBlockingQueue < String> (3);
      // Code doesn't works if used above constructor.

      //ArrayBlockingQueue < String > queue = new ArrayBlockingQueue < String> (4);
      // Code works if used above constructor.
             
      queue.add("str1");
      queue.add("str2");
      queue.add("str3");
                     
      ArrayList list = new ArrayList();
      list.add("str1");
      list.add("str2");
      System.out.println("status = " + queue.containsAll(list));
      System.out.println(queue.toString());


      This is only a backlog bug and added to bugtraq just for tracking purpose.
      It has been fixed.

            jjb Josh Bloch
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: