在模块的第二课中,性能&内存调整" Codename One Academy (课程"深入了解移动开发与Codename One"),有一个使用静态方法com.codename1.ui.CN.startThread(Runnable r, String name)
进行优化的例子。
如果我使用静态方法com.codename1.util.EasyThread.start(String name).run(Runnable r)
,它是否完全相同(关于崩溃保护和其他功能)?我有这个疑问,因为 Javadoc of startThread
明确提到了崩溃保护,而Javadoc of EasyThread
没有。
一般情况下,如果线程崩溃或阻塞会发生什么?
答案 0 :(得分:1)
EasyThread
在内部使用startThread
所以它应该没问题。发生崩溃时的行为会因操作系统而异,这一点非常重要,因为本机操作系统可以在我们控制有限的情况下启动自己的线程。
在iOS上,我们将非法访问和类似错误转换为Java异常,因此它们应该遍历堆栈,并且可能会覆盖所有语句,但这并非万无一失。