多線程之阻塞隊列BlockingQueue詳解(八)

上篇博文,我們簡單的介紹了多線程之Semaphore,這篇我們重點介紹阻塞隊列BlockingQueue。

什麼是阻塞隊列

阻塞隊列,顧名思義,首先它是一個隊列,而一個阻塞隊列在數據結構中所起的作用大致如下圖所示:

在這裏插入圖片描述
線程1往阻塞隊列中添加元素,而線程2從阻塞隊列中移除元素

1、當阻塞隊列是空時,從隊列中獲取元素的操作將會被阻塞。
2、當阻塞隊列是滿時,從隊列裏添加元素的操作將會被阻塞。

上面阻塞隊列的特點,也是阻塞隊列與普通隊列的區別。

爲什麼用阻塞隊列,有什麼好處?

在多線程領域:所謂阻塞,在某些情況下會掛起線程(即阻塞),一旦條件滿足,被掛起的線程又會自動被喚

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章