Живой поток - это тот, который существует и не Завершен . (См. Тема. Состояние )
Занятый поток - это тот, который действительно работает или, точнее, Runnable .
Веб-консоль JBoss имеет тенденцию сообщать о меньшем количестве потоков, поскольку она очень неинвазивна. Другими словами, он не должен создавать дополнительные темы только для того, чтобы отобразить вам веб-страницу. На нем уже запущен веб-сервер, и он уже выделил потоки для обработки веб-запросов до того, как вы вошли в консоль JMX.
Visual VM, с другой стороны, запускает несколько потоков для поддержки удаленного взаимодействия JMX (обычно RMI), которое поставляется с небольшим дополнительным багажом. Вы можете увидеть дополнительные темы, такие как:
RMI TCP Connection(867)
RMI TCP Connection(868)
RMI TCP Connection(869)
JMX server connection timeout
Сказав это, несоответствие, о котором вы сообщаете, выходит за рамки и заставляет меня думать, что вы не смотрите на ту же JVM.
Консоль JMX очевидна :), поэтому я предполагаю, что ваша Visual VM подключена в другом месте. Посмотрите, можете ли вы сопоставить аналогичное имя потока (используя MBean jboss.system: type = ServerInfo listThreadDump операция), или просмотрите MBean в Visual VM и проверьте MBean JBoss. Эти mbean-компоненты хороши для просмотра, поскольку они указывают на привязку к сокету, поэтому они не могут иметь одинаковые значения, если они не были одинаковыми процессами JVM:
jboss.web:name=HttpRequest1,type=RequestProcessor,worker=http-0.0.0.0-18080
Конечно, другое дело, если вы сначала запустите VisualVM, запустите его, а затем перейдете на консоль JMX и не увидите столько потоков, то вы определенно находитесь на другой виртуальной машине.
Приветствие.
// Николай