Google讓我很頭疼這個搜索詞。帶插入優先級的非優先隊列
我需要一個線程安全機制來實現以下功能。 插入優先級高於讀取的線程安全列表。
我需要總是能夠插入一條消息(比方說)到隊列(或其他),偶爾能夠讀取。因此,閱讀,永遠不會干涉插入。
謝謝。
編輯:閱讀也意味着清除紅色部分。
編輯2:也許有用,有一個單一的讀者和一個作家。編輯3:案例場景:每秒插入10次,持續1分鐘(或使用軟件所在硬件的最大可能值)。然後插入1分鐘的暫停。然後在2秒內插入20次插入(或最大可能使用軟件所在的硬件),持續30秒。然後暫停30秒。然後暫停用於最大讀取次數。我不知道我是否足夠清楚。很明顯不是。 (PS:我不知道什麼時候會出現暫停,那就是問題)。最大acc。延遲插入:Enqueue或Add方法完成的時間。
附加:可以使用具有帶TryGetValue和TryRemove的AddOrUpdate的ConcurrentDictionary嗎?
如果沒有限制性約束,該隊列可以在沒有限制和耗盡所有內存的情況下增長,此時插入*必須*失敗或等待。那麼隊列中的消息數量是否有實際的上限或類似? –
@sll你編輯了什麼? (我看,標籤) –
@Damien_The_Unbeliever有,但這裏的重要部分是插入優先級。在身體上,不能在隊列中留下「太多」的消息。 –