衡阳公司做网站,如果自己想建设网站该怎么做,外贸云网站建设,中级经济师考试报名java_阻塞队列(FIFO先进先出)ArrayBlockingQueue#xff1a;由数组结构组成的有界阻塞队列#xff1b;LinkedBlockingQueue#xff1a;由链表结构组成的有界阻塞队列(但大小默认值为#xff1a;Integer.MAX_VALUE)#xff1b;PriorityBlockingQueue#xff1a;支持优先级…java_阻塞队列(FIFO先进先出)ArrayBlockingQueue由数组结构组成的有界阻塞队列LinkedBlockingQueue由链表结构组成的有界阻塞队列(但大小默认值为Integer.MAX_VALUE)PriorityBlockingQueue支持优先级排序的***阻塞队列DelayQueue使用优先级队列实现的延迟***阻塞队列SynchronousQueue不存储元素的阻塞队列也即单个元素的队列LinkedTransferQueue由链表结构组成的***阻塞队列LinkedBlockingDeque由链表结果组成的双向阻塞队列阻塞队列核心方法add(e)为阻塞队列添加一个元素e添加成功返回 true当阻塞队列满时抛出异常 java.lang.IllegalStateException: Queue fullremove()为阻塞队列移除一个元素移除成功时返回移除的元素当阻塞队列为空时抛出异常 java.util.NoSuchElementExceptionelement()检查当前阻塞队列的首个元素成功时返回首个元素当阻塞队列为空时抛出异常 java.util.NoSuchElementExceptionoffer(e)为阻塞队列添加一个元素e添加成功返回 true当阻塞队列满时返回 falsepoll()为阻塞队列移除一个元素移除成功时返回移除的元素当阻塞队列为空时返回 nullpeek()检查当前阻塞队列的首个元素成功时返回首个元素当阻塞队列为空时返回 nullput(e)为阻塞队列添加一个元素e无返回值当阻塞队列满时会阻塞线程直到操作成功为止take()为阻塞队列移除一个元素成功时返回首个元素当阻塞队列为空时会阻塞线程直到操作成功为止offer(e,time,unit)为阻塞队列添加一个元素e添加成功返回 true当阻塞队列满时会阻塞队列一段时间(timelong类型的时间unit为时间单位)失败返回 falsepoll(time,unit)为阻塞队列移除一个元素移除成功时返回移除的元素当阻塞队列为空时会阻塞队列一段时间(timelong类型的时间unit为时间单位)失败返回 nullSynchronousQueue不存储元素的阻塞队列public class SynchronousQueueDemo {public static void main(String[] args) {BlockingQueue queue new SynchronousQueue();new Thread(() -{try {System.out.println(Thread.currentThread().getName()\t put 1);queue.put(1);System.out.println(Thread.currentThread().getName()\t put 2);queue.put(2);System.out.println(Thread.currentThread().getName()\t put 3);queue.put(3);} catch (InterruptedException e) {e.printStackTrace();}},A).start();new Thread(() -{try {try { TimeUnit.SECONDS.sleep(3); }catch (Exception e){ e.printStackTrace(); }System.out.println(Thread.currentThread().getName()\tqueue.take());try { TimeUnit.SECONDS.sleep(3); }catch (Exception e){ e.printStackTrace(); }System.out.println(Thread.currentThread().getName()\tqueue.take());try { TimeUnit.SECONDS.sleep(3); }catch (Exception e){ e.printStackTrace(); }System.out.println(Thread.currentThread().getName()\tqueue.take());} catch (InterruptedException e) {e.printStackTrace();}},B).start();}}