2
我正在處理客戶端(用戶)擁有控制權來創建新線程並殺死它們的應用程序。該應用程序基於Java。內存不足:無法創建新的本地線程
在其中一種情況下,用戶創建多個線程並殺死它們並創建新線程並繼續。一段時間後,OutofMemoryException會彈出。我認爲這與線程堆棧問題有關。所以我將線程堆棧XSS從1024KB減少到了512KB,並且將Java堆大小從Xms 256mb XmX 1024mb減少到了Xms 256mb Xmx 512mb。
我也在使用yourkit來分析應用程序的內存,只是爲了看它是否從堆大小溢出。但它似乎沒關係..線程創建並殺死好吧。
這是8GB RAM的Windows 7機器
我不知道,可能是別的什麼導致這種異常?
你是如何殺死那些線程?你確定你是「加入」他們所有? – Isaac
我敢打賭,這是你的代碼中的錯誤,你應該發佈一些;) –
沒有代碼,它很難回答。你如何殺死線程?安全的方法是從public void run()方法返回。 – Aubin