大佬教程收集整理的这篇文章主要介绍了java – Thread.sleep(x)是否足以在Android中用作时钟?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class ClockRun implements Runnable { @Override public void run() { double hourlyRate = Double.parseDouble(prefs.getString("hourlyRate","")); double elapsedTime = 0; do { while(clockRun){ double amount = hourlyRate / 360 /100 * elapsedTime; elapsedTime++; Bundle clockData = new Bundle(); clockData.putString("value",String.format("$%.2f",amount)); message message = message.obtain(); message.setData(clockData); handler.sendmessage(messagE); try { Thread.sleep(100); } catch (InterruptedException E) { e.printStackTrace(); } } }while (mainRun); Notify.viaToast(getApplication(),"Thread stopped."); } }
来自文档:
(暂时停止
执行)指定的毫秒数,取决于系统定时器和调度程序的精度和准确性.
换句话说,这种睡眠是OS或环境依赖的,你无法预测OS调度决策,另外,睡眠可以通过中断终止.
再次来自文档:
此外,它效率不高,因为你只是为了睡觉而浪费cpu周期.
ScheduledExecutorService将提供更好的精度和性能.只需将您的任务包装在Callable或Runnable中,并使用scheduledexecutorservice来执行它们,那里有很多教程.
以上是大佬教程为你收集整理的java – Thread.sleep(x)是否足以在Android中用作时钟?全部内容,希望文章能够帮你解决java – Thread.sleep(x)是否足以在Android中用作时钟?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。