首页 > 解决方案 > 代号一 - 如果线程崩溃或阻塞会发生什么?

问题描述

在代号一学院的模块“性能与内存调优”的第二课(课程“Deep Dive into Mobile Development with Codename One”)中,有一个使用静态方法进行优化的示例com.codename1.ui.CN.startThread(Runnable r, String name)

如果我使用静态方法,它是否完全相同(关于崩溃保护和其他功能)com.codename1.util.EasyThread.start(String name).run(Runnable r)?我有这个疑问是因为JavadocstartThread明确提到了崩溃保护,而JavadocEasyThread没有。

一般来说,如果线程崩溃或阻塞会发生什么?

标签: codenameone

解决方案


EasyThread内部使用startThread所以应该没问题。崩溃时的行为因操作系统而异,这很重要,因为本机操作系统可以在我们控制有限的情况下启动自己的线程。

在 iOS 上,我们将非法访问和类似错误转换为 Java 异常,因此它们应该遍历堆栈并可能会使用通用的 catch all 语句,但这并不是万无一失的。


推荐阅读