620

1、等队列满了之后,将元素再次插入到队列,就会抛出IllegalStateException(QueueFull)异常。

2、如果队列为空,那么从队列中提取一个元素将引发NoSuchElementException异常。

实例

publicclassMyBlockQueue{
publicstaticvoidmain(String[]args){
ArrayBlockingQueue<Integer>q=newArrayBlockingQueue<Integer>(3);
newThread(()->{
q.add(1);
System.out.println(Thread.currentThread().getName()+"放入一个元素");
q.add(2);
System.out.println(Thread.currentThread().getName()+"放入一个元素");
q.add(3);
System.out.println(Thread.currentThread().getName()+"放入一个元素");
,"线程1").start();

newThread(()->{
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
,"线程2").start();

发表回复