Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which of these correctly declares a queue that blocks when empty?

  • A.Queue<Job> q = new LinkedList<Job>();
  • B.BlockingQueue<Job> q = Queue.blocking();
  • C.BlockingQueue<Job> q = new LinkedBlockingQueue<Job>();
  • D.BlockingQueue<Job> q = new BlockingQueue<Job>();

Answer: C

Correct answer: BlockingQueue<Job> q = new LinkedBlockingQueue<Job>();

BlockingQueue is an interface, so it cannot be instantiated; LinkedBlockingQueue and ArrayBlockingQueue are the usual implementations. A LinkedList would compile as a plain Queue but would return null on an empty queue rather than blocking.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.