Java队列
队列是只能在其上执行操作的对象的集合两端的队列。
队列有两个末端,称为头和尾。
在简单队列中,对象被添加到尾部并从头部删除并首先删除首先添加的对象。
Java Collections Framework支持以下类型的队列。
• 简单的队列允许在尾部插入和从头部移除。
• 优先级队列为每个元素分配优先级,并允许从队列中删除具有最高优先级的元素。
• 延迟队列向每个元素添加延迟,并仅在其延迟已过去时删除该元素。
• 双端队列允许其元件从头部和尾部插入和移除。
• 阻塞队列阻塞线程,当线程已满时向其添加元素,当线程为空时,它阻止线程从中删除元素。
• 传输队列是阻塞队列,其中对象的切换发生在生产者线程和消费者线程之间。
• 阻塞双端队列是双端队列和阻塞队列的组合。
队列的简介
• 队列可以定义为有序列表,它允许在一端执行插入操作,称为REAR,删除操作在另一端执行,称为FRONT。
• 队列被称为先进先出列表。
• 例如,排队等候铁路车票的人队列。
队列的应用
由于队列以先进先出的方式执行操作,这对于操作的排序是相当公平的。 队列的各种应用如下所述。
• 队列被广泛用作单个共享资源(如打印机,磁盘,CPU)的等待列表。
• 队列用于异步数据传输(例如,数据不以两个进程之间的相同速率传输)。 管道,文件IO,套接字。