作者简介:大家好,我是码炫码哥,前中兴通讯、美团架构师,现任某互联网公司CTO,兼职码炫课堂主讲源码系列专题
代表作:《jdk源码&多线程&高并发》,《深入tomcat源码解析》,《深入netty源码解析》,《深入dubbo源码解析》,《深入springboot源码解析》,《深入spring源码解析》,《深入redis源码解析》等
联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬。码炫课堂的个人空间-码炫码哥个人主页-面试,源码等
BlockingQueue
BlockingQueue是一个队列,还额外支持如下的操作:当获取元素时,如果队列为空,则一直等待直到队列非空。当存储元素时,如果队列中没有空间进行存储,则一直等待直到有空间进行存储。
1.BlockingQueue定义的常用方法如下:
Throwsexception | Specialvalue | Blocks | Timesout | |
---|---|---|---|---|
Throwsexception | Specialvalue | Blocks | Timesout | |
Insert | add(e) | offer(e) | put(e) | offer(e,time,unit) |
Remove | remove() | poll() | take() | poll(long,TimeUnit) |
Examine | element() | peek() | notapplicable | notapplicable |
上面就是BlockingQueue接口中提供的方法列表。
1、往队列中添加元素的方法有4钟,分别为:add(e)/offer(e)/put(e)/offer(e,time,unit)
2、往队列中取元素的方法有4种,分别为:remove()/poll()/take()/poll(long,TimeUnit