我在程序(计时器类)中使用scheduleAtFixedRate方法。它每秒钟运行一次,但有时这种方法会变得非常快(每秒执行3-4次)。
然而,我在网上做了一些研究,发现了这个:
复制自android开发者页面:
对于固定速率执行,任务每次连续运行的开始时间都是计划的,而不考虑上一次运行的时间。如果延迟阻止计时器按时启动任务,则这可能会导致一系列串接运行(一个接一个地启动)。
我需要固定的计时器。它应该每x次只运行一次,没有任何快速执行。有没有其他方法可以替代调度方法,或者,我需要对这种方法感到满意?
您可以尝试使用ScheduledExecutorService,如果您的任务运行时间可能超过1秒,则可以使用多个线程。
该语法与计时器非常相似,但它是一个更健壮、更灵活的API。
可以考虑Timer类中的方法调度,即使它不能保证每“x”个时间段执行一次任务。
public void schedule(TimerTask task, Date firstTime, long period)
至少不会像你说的那样重复执行。
问题内容: 为了找到两个数据库之间的所有更改,我将pk上的表联接在一起,并使用date_modified字段选择最新记录。由于表具有相同的架构,因此将使用提高的性能。我想用重写它,但是我不确定在每种情况下for的实现是否都可以执行。希望有人对何时使用有更多的技术说明。 问题答案: 任何人都无法告诉您,它永远或永远不会超过同等产品。无论您如何编写意图,优化器都会选择合适的执行计划。 就是说,这是我的
问题内容: 我一直在使用HTMLUnit。非常适合我的要求。但这似乎非常缓慢。例如:我已经使用HTMLUnit自动化了以下场景 代码: 它运作良好100%。但是需要3分41秒 我想执行缓慢的原因是要验证页面上的每个元素。 我的问题是如何减少HTMLUnit的执行时间?有什么方法可以禁用网页上的验证。 提前致谢! 问题答案: 对于当前的htmlUnit 2.13,设置选项与maxmax提供的设置略有
我正在尝试测试Aparapi的性能。我看到过一些博客,其中的结果显示,Aparapi确实在做数据并行操作的同时提高了性能。 但我在测试中没有看到这一点。这里是我所做的,我写了两个程序,一个使用Aparapi,另一个使用普通循环。 方案1:在Aparapi 程序2:使用循环 程序1需要大约330ms,而程序2只需要大约55ms。我是不是做错什么了?我在Aparpai程序中打印出了执行模式,它打印出的
问题内容: 我已经开发了一个用户批量上传模块。有两种情况,当数据库有零条记录时,我批量上传了20000条记录。大约需要5个小时。但是,当数据库已经有大约30 000条记录时,上传速度将非常缓慢。上载2万条记录大约需要11个小时。我只是通过fgetcsv方法读取CSV文件。 下面是运行的查询。(我正在使用Yii框架) 如果存在,请更新用户: 如果用户不存在,请插入新记录。 表引擎类型为MYISAM。
以下步骤将演示如何执行速度测试: 使用第10章EAP作为指南安装和配置JRadius Simulator。 通过增加请求线程和每线程请求的值来测试FreeRADIUS的响应时间,观察FreeRADIUS达到饱和点的值。 测试在FreeRADIUS服务器上完成典型事务的持续时间。 例如,如果您是Eduroam的一部分,您可以记录您支持的各种EAP方法的持续时间。 您还可以测试计费请求的速度。 刚刚发
没有控制台。登录大型for循环的每次迭代(假设我 换句话说,如果没有控制台,迭代会更快吗。日志 我不是问是否会有“任何”差异,但是否有明显的差异(比如10毫秒而不是1毫秒)? 在我的例子中,我谈论的是windows命令提示符和javascript