Короче, использую swingworker для создания потока, в котором выполняются нейросеть. Нейросеть эта потребляет много оперативной памяти. Больше гигабайта. При нажатии на кнопку "старт" меняется название кнопки на "стоп", создётся и обучается нейросеть. При нажатии на кнопку "стоп" меняется название кнопки на "старт", останавливается обучение и удаляется swingworker (
что у меня не получается), чтобы не засорять оперативную память.
Вот пример:
https://gist.github.com/AshFTW/dca4655135328ff3cf2...
Вместо обучения нейросети создаю массив, который заполняет память. Как только вызывается onTick.cancel(true) ожидается, что поток остановится и память освободится. Что нужно сделать, что бы поток (возможно даже не swingworker) убился и освободил память?