優先級阻塞隊列

因爲工做的緣由,須要一個優先級隊列java

PriorityBlockingQueue 不能知足咱們的需求,具體緣由能夠看看要求spa

大致思路以下:線程

1: 隊列必須定長(隊列20個長度,再來21個元素,隊列不增加,添加返回成功和失敗)隊列

2:必須能夠替換優先級低的,(假如隊列容量是20。目前對了裏面的元素也是20,(即隊列已經存儲滿了,ci

按照 1的規則,隊列的容量不能在增長了),要判斷隊列中的元素有沒有比即將添加的元素的優先級低,開發

有的話,替換優先級低的元素,返回true,不然返回 false。源碼

3:隊列必須知足java的線程池對於隊列的要求。it

思考:io

開發一個新的優先級阻塞隊列,而且花費時間過長。對於java已經有一些隊列,能夠copy源碼,線程池

修改insert ,offer 等方法的源碼便可。並且還能夠知足java的線程池對於隊列的要求


代碼:

        pass。

公司規定

相關文章
相關標籤/搜索