gpt4 book ai didi

Java 在小程序重新加载时杀死守护线程

转载 作者:行者123 更新时间:2023-12-01 05:46:44 25 4
gpt4 key购买 nike

我知道当没有其他非守护线程处于 Activity 状态时,所有守护线程都应该被终止。我正在开发从静态对象获取数据的小程序。这些静态对象正在守护线程中从远程服务器下载一些数据。多个小程序可以访问相同的数据,因此为每个小程序运行线程是没有意义的。问题是当我重新加载页面时。小程序正在重新加载,并且它们在这些静态对象中注册,一切都会很好,只是 JVM 会杀死守护线程。

也许我会逐步解释:

  1. Applet 正在加载,并在提供数据的静态对象中注册。
  2. 静态对象启动守护线程。
  3. 页面重新加载。
  4. 正在卸载小程序(调用 stop() 和 destroy())
  5. 正在创建新的小程序实例并在静态对象中注册。
  6. JVM 在守护线程中引发 ThreadDeath 并停止通信。

在我看来,第6步应该在4之后5之前。我错过了什么吗?

我开发的解决方法是在注册静态对象之前 hibernate 一段时间,让 JVM 杀死守护进程,然后自动创建守护进程,但这只是一种解决方法。有更好的解决办法吗?

最佳答案

为什么不在 stop()destroy() 中终止守护线程以使事情更清楚。

关于Java 在小程序重新加载时杀死守护线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com