Java线程生命周期

标签 java multithreading

Java 执行器有一个线程池。如果我有固定长度的池(例如 8)。如果应用程序不终止,这 8 个线程是否会永远存在?如果部分代码抛出异常,池中的线程会死掉吗?

另一方面,如果我想终止线程,如何终止线程?

最佳答案

是的,只要 ExecutorService 存在,它们就会永远存在。您可以通过调用 ExecutorService.shutdown() 关闭它们。至于你问题的另一部分,javadoc解释一切:

If any thread terminates due to a failure during execution prior to shutdown, a new one will take its place if needed to execute subsequent tasks.

关于Java线程生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14724417/

相关文章:

java - 使用自定义搜索建议提供程序时获取搜索查询字符串

java - Spring:如何调用简单的 Controller ?

java - 在java opencv中从字节数组创建CV_16UC1 Mat

java - 将文件从服务器上传到另一台服务器的 Hdfs

android - Qt 5.7 for Android 主 C++ 线程不连续运行

java - 调用notify并不会唤醒其他等待线程

使用 WscRegisterForChanges 崩溃

java - 如何扩展testNG?

c# - 跨线程异常 - 使用 Invoke

php - PHP 中的多线程