[英]ForegroundService sometimes doesn't start immediately, but starts after minutes Android
[英]Why doesn't SpringApplication terminate immediately after it starts?
这是一个典型的SpringApplication实例:
public class MyService {
public static void main(String[] args) throws Exception {
SpringApplication app = new SpringApplication(MyService.class);
ApplicationContext ctx = app.run(args);
}
}
由于app.run(args)
是非阻塞调用,因此此应用程序的main
方法在调用后立即返回。 我一直认为,当您从main
返回时,应用程序会终止。
即使我们已经退出main
了,为什么SpringApplication
仍继续运行?
当最后一个非守护线程完成时, JVM终止。 您的应用程序似乎正在创建不终止的线程。
在Unix上,您可以通过发送信号3( kill -3 <java-pid>
)来获取输出的线程转储 ,从而找出线程的状态。 那可以告诉你更多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.