java – 奇怪的尝试/捕获指令
发布时间:2020-12-15 02:09:40 所属栏目:Java 来源:网络整理
导读:参见英文答案 When does Java’s Thread.sleep throw InterruptedException?????????????????????????????????????6个 我在网络上,在游戏代码中找到了这些说明.但是,我不明白它是如何工作的. start = System.nanoTime();elapsed = System.nanoTime() - start
参见英文答案 >
When does Java’s Thread.sleep throw InterruptedException?????????????????????????????????????6个
我在网络上,在游戏代码中找到了这些说明.但是,我不明白它是如何工作的. start = System.nanoTime(); elapsed = System.nanoTime() - start; wait = (100/60) - (elapsed / 1000000); if(wait < 0) { wait = 4; } try { Thread.sleep(wait); } catch (InterruptedException e) { e.printStackTrace(); } 我知道Thread.sleep(wait)使线程在启动前等待ms的等待时间.但在这种情况下,为什么要烦恼所有这些指示呢?我尝试使用Thread.sleep(0),游戏速度快20倍(所有对象移动得太快). 这些说明如何运作? 提前致谢. 解决方法
基本上,Thread.Sleep()所做的是冻结代码运行的线程,在这种情况下,冻结应用程序的主线程.
认为它像你的程序一样:
try / catch操作与您看到的延迟无关. 在这种情况下,用简单的单词,它将“跳转”并执行catch块中编写的代码,防止程序崩溃(将其视为保护层). 如果你删除try / catch块,那么在上面描述的异常情况下,没有什么可以防止系统崩溃,你的程序会爆炸(好吧,它不会,不要吓坏.:P). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |