假設我們有一個JobItem
,它有兩個字段jobId
和dbTableName
。 我們還有一個執行程序線程池4.帶有跳過項目的Java優先級隊列首先再處理
最初,執行程序將運行隊列中的第一個作業項目。 如果後面的隊列頭有相同的dbTableName
說tableA,我想獲得下一個隊列項下一個沒有相同dbTableName的作業項並首先執行它。
隨着第一份工作可能需要很長的時間,我們最終可能已經處理與其他表的多個其他的工作項目,我們再次
處理TABLEA我們要確保對TableA的所有作業是按順序處理之前。
我有另一個列表,它保持當前正在運行的作業列表。
目前,我看到只有通過迭代隊列項目並檢查當前正在運行的作業列表才能提供此類功能。
有沒有更好的方法來實現這一目標?
謝謝
你可以使用一個FIFO結構,並在您的隊列推回作業時,作業已經運行在桌子上使用相同的名稱 – Nathan