Java 队列Queue几个方法的区别

 

方法    作用   区别
add 增加一个元素   如果队列已满,则抛出一个IIIegaISlabEepeplian异常
offer 添加一个元素并返回true   如果队列已满,则返回false。 如果 e 元素为 null 则抛出 NullPointerException 异常。该方法不阻塞
put   添加一个元素并返回true   如果队列已满则阻塞当前线程直到队列有空闲插入成功后返回 true,如果在阻塞的时候被其它线程设置了中断标志,则被阻塞线程会抛出 InterruptedException异常而返回,另外如果 e 元素为 null 则抛出 NullPointerException 异常
remove    删除队列里面指定元素     有则删除返回 true,没有则返回 false
poll     移除并返问队列头部的元素    如果队列为空,则返回null。该方法是不阻塞
take      移除并返回队列头部的元素   如果队列为空则阻塞调用线程。如果队列为空则阻塞当前线程直到队列不为空然后返回元素,如果在阻塞的时候被其它线程设置了中断标志,则被阻塞线程会抛出 InterruptedException 异常而返回。
element       返回队列头部的元素   如果队列为空,则抛出一个NoSuchElementException异常
peek    
 
返回队列头部的元素    如果队列为空,则返回null。该方法是不阻塞

 

你可能感兴趣的:(多线程,数据结构)