-2
我使用的tomcat servlet同時存儲內容,因爲它可用於servlet。單個請求可能需要存儲1個或數千個(組件)。java管理多線程內存
爲了處理併發性,我使用了一個固定大小的線程指針表。當一個組件可以被存儲 - 存儲對象被分配給表中的一個槽並開始執行。當線程完成時,該插槽爲空,並根據需要分配另一個存儲對象。如果使用表中的所有插槽,則會定期檢查表中已完成的線程,並更換線程。
使用此模型管理內存可能很困難,因爲垃圾收集永遠不會完全清除踩死時使用的內存。這可能導致內存溢出或內存恢復過小。
有沒有辦法處理這種類型的GC - 例如,需要同步,然後是GC?是否有一個Java併發處理程序匹配這種類型的處理...
任何意見,將不勝感激。
感謝
我沒有得到你爲什麼必須完成處理單個請求後殺死線程。使用固定線程池,應用生產者/消費者模式,並重新使用線程。 – khachik
「垃圾收集永遠不會完全清理踩死時使用的內存。」你到底在說什麼? – Kayaman