私のプログラムはいくつかのSwingworker
スレッドを使用しており、完了後に各スレッドのメモリを解放する必要があります。doInBackground()
私のスレッドがメソッドを完了することによって終了するか、によって停止されるかにかかわらず、cancel()
スレッド自体はそこにとどまります(Jconsoleに引き続き表示されます)。
インスタンスを逆参照しSwingworker
てガベージコレクションを強制しますが、Javaプロセスがメモリを解放することはありません(たとえば、Windowsタスクマネージャーで表示されるように)。
Swingworker
終了したスレッド を完全に削除するにはどうすればよいですか?
または、複雑な処理中に複数の場所に割り当てられたメモリをどのように解放できますか?
どんなアドバイスも大歓迎です。ありがとう。