关于BlockingQueue

1 什么是BlockingQueue

2 BlockingQueue有什么用

3 ArrayBlockingQueue的用途

 

1 它是一个线程安全的队列

2 它是一个容量固定的队列

3 它为什么叫blocking

它会让线程的offer和take操作等待。

如果put的时候,发现队列已经满了,那么线程blocking等待。

如果take的时候,发现队列是空的,那么线程blocking等待。

这个实现完全是ReentrantLock的功劳,这也体现了ReentrantLock的Condition的威力,它可以让同步于同一个锁的线程等待不同的条件。这个是synchronized做不到的。

posted @ 2018-04-24 23:42  PhoenixTree(梧桐树)  阅读(153)  评论(0编辑  收藏  举报