У меня похожая проблема.Я использую несколько потоков SwingWorker для выполнения некоторых вычислений, и диспетчер задач Windows сообщает, что количество потоков в java.exe никогда не уменьшается, а всегда увеличивается.Если задача была выполнена нормально или отменена, кажется, не имеет никакого значения.
Насколько я могу судить, количество потоков зависит от объема оперативной памяти машины и максимального адресного пространства, доступного для процесса.(в 32-разрядных операционных системах это значение составляет 2 ГБ).
Насколько я знаю, иногда это не единственные ограничения.В Windows (XP или более поздней версии) я слышал, что, хотя ОС явно не устанавливает ограничение, процессы с более чем 1000 потоков имеют тенденцию к сбоям без видимой причины.
Я попытаюсь использовать свою программуначать и отменить эти темы SwingWorker, пока число не станет очень большим.Мне очень любопытно, что произойдет (у меня XP 32 бит и 1 ГБ оперативной памяти).
Дело в том, что это может быть реальной проблемой.Если на некоторых операционных системах и / или аппаратных платформах возникают проблемы с подсчетом потоков, то у кого-то, кто использует такую программу в течение очень длительного периода времени (не выходя из нее в течение нескольких часов), могут возникнуть очень неприятные ситуации ...