Проблема: Я хотел знать, когда RunTimeException выбрасывается в методе запуска потока, будет ли локализован поток этого потока? Ответ на этот вопрос лежит в том, что я спрашиваю ниже. Таким образом, если сказано, что если поток затухает (когда выбрано исключение), то поток локального моментального снимка get очищается или если поток не умирает, что происходит с потоком локального в этом случае. Нужно ли нам программно обрабатывать это? Сценарий: При большой нагрузке запрос пришел, и обработка прошла слишком долго и до того, как был создан ответ, асинхронный контекст отключен. Что происходит в этом сценарии? Что происходит с потоком, обрабатывающим запрос?Когда резьба умирает в ThreadPoolExecutor
Подробнее ... Я занимаюсь изучением того, как WorkPackExecutors работают внутри. Мне любопытно узнать, что происходит, когда RunTimeException вызывается в методе запуска потока. Убит ли он, и ThreadPoolExecutor заканчивает создание нового потока? Или JVM каким-то образом не позволяет этому потоку умереть, чтобы он мог повторно использовать в пуле . Я думаю, что нить умирает, и так это моментальный снимок ThreadLocal. Я хотел получить представление о том, как ThreadPoolExecutor обрабатывает исключения и как жизненный цикл определенного потока вращается вокруг этого. Спасибо за помощь!
Почему вы заботитесь о таких деталях реализации? Беспокойство об интерфейсе, а не о реализации. Если вам действительно все равно, вам нужно вникнуть в код самостоятельно. StackOverflow предназначен для выяснения проблем, которые возникают у вас. Нарушение реализации каждого модуля в JDK из-за любопытства и не из-за проблем приводит к беспорядку. Это сайт, чтобы * получить помощь с проблемами, которые приводят к неожиданным или необъяснимым результатам *. –
* «Я занимаюсь исследованием того, как WorkPackExecutors работают внутри». * - поэтому я предполагаю, что вы прочитали исходный код, который поставляется с JDK. С какой частью источника у вас возникли трудности? – the8472
Это в исходном коде метода runWorker. –