问题标签 [timertask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2443 浏览

android - 当我的服务运行 TimerTask 时,如何防止 UI 挂起?

我有一个包含 Timer 和 TimerTask 的服务,用于在一段时间内从 Webservice 接收数据。当我的 TimerTask 运行时,UI 会挂起,直到 Web 服务进程完成。如何将我的任务放在一个线程中以防止 UI 挂起?

我的代码:

0 投票
2 回答
1562 浏览

java - 为什么从无限循环切换到 TimerTask 会导致 CPU 使用率下降?

我写了一个结构如下的守护进程:

我注意到它使用了大量的 CPU - 高达 100%。几个月来,我的生产服务器上有一个类似的守护进程,同样存在同样的 CPU 问题。

昨天我重构了代码以使用TimerTask。我立即注意到我的开发盒上的 CPU 使用率下降了。所以我决定部署到生产环境并使用 Munin 进行仔细检查。以下是图表:

平均负载

CPU使用率

几点:

  • 除了 JVM,生产服务器上绝对没有其他任何东西在运行。
  • 没有其他应用程序线程在运行
  • 它肯定是以正确的周期性间隔执行旧式代码 - 每次线程执行时我总是写入日志。

那么:为什么 Thread.sleep 与 TimerTask 相比效率如此之低?

0 投票
1 回答
518 浏览

android - 特定日期/时间的android timertask

嗯,我尝试以不同的方式提出问题:)

我编写了在特定日期/时间(日期类)作为本地(局部变量)激活通知的代码。当我激活通知时,我会创建一个带有新日期/时间的新通知。

代码:

在这种情况下,每次我从我的 PC (eclip) 安装应用程序时,通知都会处于活动状态,但如果我从移动设备启动应用程序,“下一个”通知将不会处于活动状态。也许我的应用程序不是服务,但我不想要服务,我想要在后台使用 timertask 的应用程序。

如果我必须提供服务,我该怎么做?

BR,科勒萨

0 投票
2 回答
1372 浏览

java - 异步负载生成器

我正在尝试使用 Jetty 的 HttpClient 在 Java 中编写异步负载生成器,因为它提供了异步通信。

但我面临一些问题。其中主要是为了生成负载,我使用了 java.util.TimerTask。但是 TimerTask 类的问题是它不能保证时间的准确性,即距离预期时间的某些毫秒可能更多。因此,如果我尝试生成 1000 tps,我将只能获得大约 700-800 tps。

谁能建议我如何克服这个问题。有什么工具可以作为参考吗??

0 投票
1 回答
717 浏览

android - 在 Android 中安排保证在接近预定时间运行的任务的最佳方法是什么?

我一直在使用带有伪代码的 Timer 和 TimerTask:-

此应用程序是一个长时间运行的应用程序(例如,15 分钟没有唤醒锁,屏幕关闭)。安排此任务后,我锁定屏幕并且手机处于移动状态(为加速度计激活传感器管理器)。因此,理想情况下,该任务应该每分钟运行一次。但是,在日志中,我看到计划的计时器仅在第 5 分钟、第 9 分钟和第 12 分钟运行。

我的要求是对时间要求严格的采样,可接受的延迟范围为几秒(1-5 秒)。看来,如果设备处于睡眠模式,计时器不会将其唤醒并运行计划任务。有没有其他的选择。文档说可以使用 AlarmManager 和 Handler。我认为 AlarmManager 应该理想地用于基于某些系统警报执行单次任务。是否有我遗漏的东西或实现此功能的替代方法。

0 投票
1 回答
4923 浏览

java - 定时器重复执行只执行一次

我有一个预期的任务,应该每 10 秒执行一次。当我只运行项目时它就可以工作,这意味着它会 run() 一次,但以后不会。有人可以告诉我哪一部分是错的。我花了几个小时试图解决这个问题但无济于事:(这是我的主要内容:

这是成本代码:

我尝试的一些方法是将 thread.sleep 结束到 Cost 代码的末尾,而我尝试的另一种方法是在我的 main...

0 投票
1 回答
819 浏览

android - 在暂停主线程执行时在android中显示一个定时自定义对话框

我在我的应用程序中显示了一个自定义对话框,它会停留一小段时间(比如 2 秒)然后消失。我正在从主要活动中调用此自定义对话框。我希望我的通话活动暂停,直到自定义对话框消失。问题是对话框关闭后的活动代码总是在显示对话框时执行。

我尝试显示对话框,休眠 2 秒然后将其关闭,但这不起作用。对话框关闭后的活动代码正在执行。

我还尝试将对话框放入计时器任务中,但也失败了

我还尝试在线程中使用自定义对话框进行简单线程化,并在主活动中同时休眠,这会导致异常并强制关闭。

有人请告诉我在显示自定义对话框时暂停主要活动的方法,以便执行自定义对话框关闭后的代码。

谢谢

0 投票
3 回答
2022 浏览

java - java中的TimerTask和web socket

我正在尝试使用 JavaDatagramSocketDatagramPacket类编写一个基本的客户端服务器。我已经设置了基本代码,但我想要一种方法来定期从我的客户端向我的服务器发送 100 条消息,即 1 秒、2 秒或 5 秒。

基本上,我想要类似的东西:

在 C 中有一个 sleep 方法,但我不知道如何在 java 中做到这一点。有人有什么建议吗?

0 投票
1 回答
6657 浏览

java - 使用 IcyStreamMeta 从 SHOUTcast 获取元数据

我正在为 Android 编写一个从 SHOUTcast mp3 流中获取元数据的应用程序。我正在使用我在网上找到的一个非常漂亮的课程,我稍作修改,但我仍然有 2 个问题。

1) 我必须不断地 ping 服务器以使用 TimerTask 更新元数据。我不喜欢这种方法,但这是我能想到的。

2)当我的应用程序运行时,有公吨的垃圾收集。删除 TimerTask 消除了垃圾收集问题,所以我不确定我是否只是做错了,或者这是否正常。

这是我正在使用的课程:

}

这是我的计时器:

非常感谢任何帮助!

0 投票
2 回答
690 浏览

android - Android:从线程访问 ui 元素

stb.setOnClickListener(new OnClickListener() {

我需要访问 ui 上的一组单选按钮并将其设置为定期检查,但我不断收到不同的错误,我意识到我必须使用处理程序,但它仍然无法正常工作......谁能告诉我在哪里我错了......我是一个新手,正在尝试一些东西来更好地理解工作......请帮助......