queue : Java Glossary

*0-9ABCDEFGHIJKLMNOPQRSTUVWXYZ (all)

queue
A data structure to hold objects awaiting some sort of service. There are two basic types: FIFO (First In First Out) and LIFO (Last In First Out). LIFO queues are often called stacks. Internally threads waiting for a timeslice of CPU (Central Processing Unit) time are stored in a queue. Inside a servlet womb, incoming translations awaiting processing are stored in a queue. Prior to Java 1.5, there was almost no support for queues other than LinkedList. You had to roll your own, which is not difficult. See my own LinkedList implementation.
Queue Classes Learning More
How to Use Links
Books

Queue Classes

With Java version 1.5 comes a rich set of classes:
Java Queues classes and interfaces
Class Type Purpose
Queue interface Basic queue interface. Defines the basic methods to add elements to the queue (offer, add), look at the head of the queue (peek, element) or pop the head of the queue off the queue (poll, remove). There are two versions of each method, e.g. offer returns a magic value on trouble and add throws an Exception. Queue is derived from Collection so all the Collection methods are also available.
BlockingQueue interface If the queue is empty, blocks the current thread until some other thread adds an element. You can provide a timeout how long you are prepared to wait.
AbstractQueue abstract class Underpinnings for ArrayBlockingQueue, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingQueue, PriorityBlockingQueue, PriorityQueue, SynchronousQueue.
ArrayBlockingQueue class FIFO blocking queue where the elements are stored in a fixed size array. The array buffer is circular, somtimes called a squirrel cage buffer or hamster buffer. When the array fills up it wraps around to the beginning being careful not to overwrite existing elements. If all goes well, the oldest elements are popped off in time to create room for new elements, hot on their heels.
ConcurrentLinkedQueue class Unbounded (can grow arbitrarily large), FIFO, thread-safe queue.
DelayQueue class Unbounded, sorted by delay, so that elements can be eligible to leave the queue once the delay has expired. The oldest expired delay element pops from the queue first.
Executors class creates thread pools that work off a todo queue.
LinkedBlockingQueue class Optionally bounded, FIFO blocking queue implemented with linked nodes.
LinkedList class Supports List interface, though it is very slow at indexing since it is implemented as linked nodes.
PriorityBlockingQueue class Blocking, sorted queue ordered by natural order Comparable interface or supplied Comparator. Does not permit null elements. Pops the smallest element.
PriorityQueue class Non-blocking, sorted queue ordered by natural order Comparable interface or supplied Comparator. Does not permit null elements. Pops the smallest element.
SynchronousQueue class A dummy queue that can’t even hold one element. Every add to the queue must be matched by an immediate pop before there can be another add. It is for thread to thread handoff.
ThreadPoolExecutor class executes each submitted task using one of possibly several pooled threads.

How to Use

There

Books

book cover recommend book⇒Java Concurrency in Practiceto book home
by Brian Goetz, Tim Peierls, Joshua J. Bloch, Joseph Bowbeer, David Holmes, Doug Lea 978-0-321-34960-6 paperback
publisher Addison-Wesley 978-0-13-270225-6 eBook
published 2006-05-19 B004V9OA84 kindle
Bloch and Lea especially have very good reputations in concurrent programming. This is the dream team to write such a book.
Australian flag abe books anz abe books.ca Canadian flag
German flag abe books.de amazon.ca Canadian flag
German flag amazon.de Chapters Indigo Canadian flag
Spanish flag amazon.es Chapters Indigo eBooks Canadian flag
Spanish flag iberlibro.com abe books.com American flag
French flag abe books.fr amazon.com American flag
French flag amazon.fr Barnes & Noble American flag
Italian flag abe books.it Nook at Barnes & Noble American flag
Italian flag amazon.it Kobo American flag
India flag junglee.com Google play American flag
UK flag abe books.co.uk O’Reilly Safari American flag
UK flag amazon.co.uk Powells American flag
UN flag other stores
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder.
book cover recommend book⇒Concurrent Programming in Java(TM): Design Principles and Patterns, third editionto book home
by Douglas Lea 978-0-321-25617-1 paperback
publisher Addison-Wesley
published 2006-05-19
Threads and concurrency in Java, design considerations (safety, liveness and performance), Before/After Patterns, layering, adapters, immutability and synchronization, deadlock, resource ordering, the Java Memory Model and concurrency, using the java.concurrency package, confinement, refactoring for concurrency, mutexes, read-write locks, recovering from failure, notifications, semaphores, latches, exchanges, transactions, one-way messages, worker threads, polling and event-driven I/O, parallelism techniques (fork/join, computation trees and barriers), Communicating Sequential Processes (CSP).
Australian flag abe books anz abe books.ca Canadian flag
German flag abe books.de amazon.ca Canadian flag
German flag amazon.de Chapters Indigo Canadian flag
Spanish flag amazon.es Chapters Indigo eBooks Canadian flag
Spanish flag iberlibro.com abe books.com American flag
French flag abe books.fr amazon.com American flag
French flag amazon.fr Barnes & Noble American flag
Italian flag abe books.it Nook at Barnes & Noble American flag
Italian flag amazon.it Kobo American flag
India flag junglee.com Google play American flag
UK flag abe books.co.uk O’Reilly Safari American flag
UK flag amazon.co.uk Powells American flag
UN flag other stores
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder.

Learning More

Oracle’s Javadoc on Queue interface : available:
Oracle’s Javadoc on java.util.concurrent package : available:
Oracle’s Javadoc on ThreadPoolExecutor class : available:
Oracle’s Javadoc on Executors class : available:

This page is posted
on the web at:

http://mindprod.com/jgloss/queue.html

Optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\jgloss\queue.html
Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

IP:[65.110.21.43]
Your face IP:[3.129.253.238]
You are visitor number