在這種情況下如何節約記憶體使用?
近來在做一個模組,用的是一個如下的大概流程:
涉及的主要類:
Task 任務類--自定義
Container 儲存的容器類--自定義
外部程式呼叫我做的模組介面傳給我一個String字串;我將這個字串解析、封裝成一個任務Task,然後將這個任務Task加入Container容器中。後臺會啟動多個執行緒去容器Container中搜尋任務,然後將任務拿出來處理掉。
現在在實際應用中出現這樣一個問題,即外部呼叫程式給我的任務很多很急,然後所有的任務Task都往容器Container中扔。後臺從容器中檢出任務並處理掉的執行緒來不及很快的處理完容器Container中已有的任務,結果導致Container中的東西越來越多,最後出現 OutOfMemory的問題。
各位大俠,如何處理這個問題啊,應該在什麼地方加入什麼機制來解決這個問題,希望大家多給我出幾個主意。
涉及的主要類:
Task 任務類--自定義
Container 儲存的容器類--自定義
外部程式呼叫我做的模組介面傳給我一個String字串;我將這個字串解析、封裝成一個任務Task,然後將這個任務Task加入Container容器中。後臺會啟動多個執行緒去容器Container中搜尋任務,然後將任務拿出來處理掉。
現在在實際應用中出現這樣一個問題,即外部呼叫程式給我的任務很多很急,然後所有的任務Task都往容器Container中扔。後臺從容器中檢出任務並處理掉的執行緒來不及很快的處理完容器Container中已有的任務,結果導致Container中的東西越來越多,最後出現 OutOfMemory的問題。
各位大俠,如何處理這個問題啊,應該在什麼地方加入什麼機制來解決這個問題,希望大家多給我出幾個主意。
相關文章
- 05記憶體情況記憶體
- 請在這幾種情況下匯入TPM管理
- 乞丐是如何節約Java記憶體的Java記憶體
- 異常、堆記憶體溢位、OOM的幾種情況記憶體溢位OOM
- 總結Linux下檢視記憶體使用情況的多種方法Linux記憶體
- 給定區間記憶體在多根情況下的非線性方程求根記憶體
- 如何檢視Linux的記憶體使用狀況Linux記憶體
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- Redis 記憶體突增時,如何定量分析其記憶體使用情況Redis記憶體
- 用瀏覽器測試幾種閉包占用記憶體的情況瀏覽器記憶體
- 在這個情節
- 在Linux中,如何檢查系統的CPU和記憶體使用情況?Linux記憶體
- 請問這種情況下表關係如何設計
- win10檢視是否使用虛擬記憶體情況 win10是否使用虛擬記憶體在哪裡檢視Win10記憶體
- 使用 vmstat 命令確定記憶體使用情況記憶體
- 微服務上 AWS 雲, 在使用ALB 的情況下, Eurek 中如何配置微服務
- ElasticSearch兩個節點的情況下,shard是如何分配的Elasticsearch
- 測試需要連線外網,這種情況下如何模擬弱網測試
- 4.3.4.1 在不使用Oracle OMF的情況下建立CDBOracle
- 在不影響程式使用的情況下新增shellcode
- Linux系統下分析記憶體使用情況的管理工具Linux記憶體
- Linux效能優化:記憶體使用情況分析Linux優化記憶體
- 使用 top 命令瞭解 Fedora 的記憶體使用情況記憶體
- 使用show engine innodb status 檢視記憶體使用情況記憶體
- cpu —>記憶體—>硬碟這種方式是不是更慢?記憶體硬碟
- MongoDB 如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- MongoDB如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- 在不安裝oracle客戶端的情況下,使用PLSQLOracle客戶端SQL
- 使用聯合索引的一種情況索引
- 如何檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體Linux記憶體
- Latex請問這種情況怎麼解決
- JPA EntityManager 在沒有實體類的情況下返回Map
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- CPU瞞著記憶體竟幹出這種事記憶體
- 關閉 qemu-system-aarch64 以節約 mac 的記憶體Mac記憶體
- RabbitMQ如何解決各種情況下丟資料的問題MQ
- 開始使用 Org 模式吧,在沒有 Emacs 的情況下模式Mac
- 爬蟲在什麼情況下才需要使用代理IP爬蟲
- 使用 Ledger 記錄(財務)情況