当前位置:嗨网首页>书籍在线阅读

09-结果分析

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

结果分析

本节用 LinkedBlockingDeque<String> 类来实现一个阻塞并发的双端队列。

Client 类用 put() 方法插入字符串到双端队列里面去。如果该队列是满的(因为已经在队列创建时指定了队列的长度),则该方法会阻塞线程的执行,直到队列中有空位的时候才继续执行。

Main 类用 take() 方法从双端队列中获取字符串。如果队列是空的,则该方法会阻塞线程的执行直到队列中有元素的时候才继续执行。

由于在本案例中 LinkedBlockingDeque 类的两个方法都会在它们发生阻塞且同时出现中断请求时抛出 InterruptedException ,因此,必须编写必要的代码段来捕获该异常。