双缓冲队列
来源:互联网 发布:文档加密软件下载 编辑:程序博客网 时间:2024/05/18 02:37
例一: 首先,使用ArrayBlockingQueue类创建一个大小为10的双缓冲队列queue;然后,循环20次向队列queue中添加元素,如果5秒内元素仍没有入队到队列中,则返回false
代码如下:
public class Demo03 {public static void main(String[] args) {BlockingQueue<Integer> queue =new ArrayBlockingQueue<Integer>(10);boolean flag;for(int i=1;i<=20;i++){try {flag = queue.offer(i,1,TimeUnit.SECONDS);System.out.println(i+":"+flag);} catch (InterruptedException e) {e.printStackTrace();}}}}测试结果:
1:true2:true3:true4:true5:true6:true7:true8:true9:true10:true11:false12:false13:false14:false15:false16:false17:false18:false19:false20:false先直接输出10次true,然后每隔1秒输出false
例二:首先,使用ArrayBlockingQueue类创建一个大小为10的双缓冲队列queue;然后,将0到9,10个数字加入到队列queue中;最后,循环20次从队列queue中取元素,如果5秒内还没有元素可取出则返回null。
代码如下:
public class Demo03 {public static void main(String[] args) {BlockingQueue<Integer> queue =new ArrayBlockingQueue<Integer>(10);for(int i=0;i<10;i++){queue.offer(i);}for(int i=1;i<=20;i++){Integer in;try {in = queue.poll(1,TimeUnit.SECONDS);System.out.println(in);} catch (InterruptedException e) {e.printStackTrace();}}}}结果如下:
0123456789nullnullnullnullnullnullnullnullnullnull先直接输出0-9,然后每隔1秒钟输出一次null
0 0
- 双缓冲队列
- 双缓冲队列尝试
- 双缓冲队列
- 双缓冲队列
- 双缓冲队列
- 环形双缓冲队列
- 双缓冲队列
- 服务器应用--双缓冲队列
- 服务器端利器--双缓冲队列
- 服务器应用--双缓冲队列
- 服务器应用--双缓冲队列
- 服务器应用--双缓冲队列
- 服务器端利器--双缓冲队列
- 实现一个双缓冲队列
- 实现一个双缓冲队列
- 实现一个双缓冲队列
- 实现一个双缓冲队列
- Java双缓冲队列实现
- 【PAT】A1035. Password (20)
- STC89C52RC单片机实现串口打印功能
- JVM学习笔记2--JVM中的对象
- jQuery 如何解除绑定的事件
- 突破github的100M单个大文件上传限制
- 双缓冲队列
- cmd+WPS批量重命名文件
- Java NIO 系列教程
- <android-apt学习笔记>
- 算法学习-1
- 记些日常吧
- UVa-1585-Score
- FIDO安全协议
- Git实践教程(一)简介