Я новичок в мире многопоточности и развертывания кода на сервере. У меня есть проект с основным потоком. Этот основной поток имеет пул из 10 других потоков, которые «запрашивают» различное оборудование с помощью SNMP. Затем эти потоки выполняют некоторые действия с базой данных, и эта база данных переходит к внешнему интерфейсу веб-приложения. Основной поток использует планировщик, чтобы задача выполнялась вечно, и повторяется каждые 15 секунд.
В eclipse я экспортировал исполняемый .jar и запустил его на сервере, используя «nohup java -jar nameOfJar.jar &». Теперь, чтобы убить этот процесс, я использую «ps -ef | grep java», чтобы увидеть, на каком PID работает nameOfJar.jar, и использую «kill PIDofNameOfJar», чтобы фактически убить процесс. Я новичок в многопоточности, и мне интересно, что происходит с потоками, когда я использую команду kill. Проводится ли на них какая-либо чистка? Или у меня должен быть код, чтобы справиться с этим? Или я не должен использовать команду kill, чтобы остановить работающую банку?
Я думаю, что, поскольку я убиваю основной процесс, другие 10 потоков не будут завершены, если они были отправлены, но я не уверен.
Любая помощь будет оценена по достоинству!