Eclipse создает лишние потоки?

Обычно я запускаю программы через Eclipse, которые запускают сотни или тысячи потоков, и сегодня я пытаюсь провести сравнительный анализ. Я заметил, что где-то около 100 все еще активных потоков после выполнения некоторых тестов, поэтому я решил перезапустить Eclipse, предполагая, что потоки остались от одной из моих программ, которая не закрылась должным образом или что-то в этом роде. Однако, когда я перезапускаю Eclipse, он имеет более 100 потоков (при просмотре с помощью htop в Centos OS 7), поэтому кажется, что эти потоки связаны с Eclipse, а не с моими программами. Это нормально? Похоже, что очень большое количество потоков сидит там и ничего не делает.

Активно ли работают потоки? Они отмечены буквой "Z"? Занимают ли они иным образом системные ресурсы?

Makoto 08.10.2018 19:38

Они не занимают процессорное время, и их использование памяти одинаково для всех, поэтому я предполагаю, что на самом деле это использование родительского потока. Отмечено в каком столбце? В столбце S они отмечены буквой S.

ferzle 08.10.2018 20:06

Если это так, то это означает, что эти потоки спят и не занимают циклы ЦП. Не похоже, что это большая проблема, если вы не сталкиваетесь с ограничением потока в пользовательском пространстве.

Makoto 08.10.2018 20:54

Вы, вероятно, правы, но кажется довольно нелепым, что Eclipse порождает 100, казалось бы, бесполезных потоков.

ferzle 08.10.2018 21:39

Собирались ли вы смотреть на их имена и стопки, или списываете их как бесполезные?

nitind 09.10.2018 06:24

У всех них одно и то же имя (по крайней мере, та часть, которая находится на экране - они настолько длинные, что исчезают с экрана, и я не знаю, как захватить остальное). Я не совсем понимаю, что вы подразумеваете под стеками в этом контексте.

ferzle 09.10.2018 16:09
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
51
0

Другие вопросы по теме