实践实现阻塞队列——ReentrantLock使用总结
发布时间
阅读量:
阅读量
背景
近日偶然接触到一个面试题目,要求完成一个阻塞队列的实现,这让我产生了亲自尝试的念头。乍看之下似乎并不复杂,整体思路也较为明确,主要依赖于ReentantLock与Condition这两个组件来达成目标。然而在具体实施过程中仍遇到了一些困难,现将相关经验进行整理,供读者参考。
阻塞队列第一版
- 首先提供第一版的代码实现。由于该代码仅用于内部存储,为便于操作,选择采用LinkedList进行实现。
import java.util.LinkedList;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock;
/** * NOTE:
* * @author lizhiyang
* @Date 2019-11-27 19:38
*/
public class MyBlockingQueue<E> {
private LinkedList<E> list = new LinkedList<>();
private ReentrantLock lock = new ReentrantLock();
priv
全部评论 (0)
还没有任何评论哟~
