隊列是一種非常常用的數(shù)據(jù)結(jié)構(gòu),一進一出,先進先出。 

  在Java并發(fā)包中提供了兩種類型的隊列,非阻塞隊列與阻塞隊列,當(dāng)然它們都是線程安全的,無需擔(dān)心在多線程并發(fā)環(huán)境所帶來的不可預(yù)知的問題。為什么會有非阻塞和阻塞之分呢?這里的非阻塞與阻塞在于有界與否,也就是在初始化時有沒有給它一個默認(rèn)的容量大小,對于阻塞有界隊列來講,如果隊列滿了的話,則任何線程都會阻塞不能進行入隊操作,反之隊列為空的話,則任何線程都不能進行出隊操作。而對于非阻塞無界隊列來講則不會出現(xiàn)隊列滿或者隊列空的情況。它們倆都保證線程的安全,即不能有一個以上的線程同時對隊列進行入隊或者出隊操作。 

  非阻塞隊列:ConcurrentLinkedQueue 

  阻塞隊列:ArrayBlockingQueue、LinkedBlockingQueue、…… 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式