问题标签 [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 投票
1 回答
384 浏览

android - TimerTask、地理位置和 Looper

我需要在我的应用程序中执行以下逻辑:每分钟,我都希望能够听 GPS 位置 20 秒以获取 GEO 位置修复。

这显然需要运行与 UI 线程不同的线程。

然而,我在结合使用 looper 和 timertask 时遇到了一些问题......

实现这一目标的最佳方法是什么?

0 投票
2 回答
840 浏览

java - Java TimerTask 希望变量是最终的

无论如何,所以我试图制作类似聊天程序的东西,有人告诉我使用此代码检查新消息,同时允许用户提交消息:

其中read.readChat(line);是显示来自另一个文件的消息的方法。Java告诉我,read两者line都必须声明为final......我不明白为什么特别是对于“ line”,因为那是一个变量,我需要它来改变。

此外,在我将它们声明为 final 之后,我得到了这个错误:

我究竟做错了什么?

0 投票
2 回答
661 浏览

android - Android TimerTask 在调用两次时崩溃

我在单击按钮时调用我的 TimerTask (m_timer):

m_timer.schedule(m_progressUpdater, 0, 500);

这启动了我的运行方法:

我可以调用一次,它工作得很好。当我再次调用它时,我的应用程序停止响应。我在想我需要在我的 CompleteTask() 方法中取消任务,但我尝试取消 TimerTask 和 Timer,但它仍然崩溃。有谁知道可能是什么问题?

0 投票
5 回答
2637 浏览

java - 暂停 timerTask

我撞到了另一面墙。让我的按键输入工作后,我已经绞尽脑汁好几个小时了,我想创建一个暂停功能,这样如果再次按下相同的按键,timertask就会停止运行(即游戏暂停)

问题是我不能使用全局布尔 isRunning var 并在每次按下键时切换它,因为嵌套类中的 timerTask 方法(因此布尔 isRunning 必须声明为 final 才能访问......)。关于如何检测是否再次按下键或游戏是否已经运行的任何想法,以便我可以暂停/取消我的 timerTask。

非常感谢山姆

0 投票
1 回答
100 浏览

android - 调度实例方法的android错误

我是一名新的 Android 开发人员。我的日程安排有问题。

我想安排我的一个实例方法以 1 秒的延迟被调用。我已经尝试过 Timer 和 TimerTask 但它没有用。它调用了该方法,但在方法中我将视图添加到我的相对布局中。在那里给出错误。没有调度,如果我调用相同的方法它不会失败。

那么,没有这种问题的延迟调用方法的方法是什么?或者我可以在不暂停线程的情况下等待延迟的任何方式,因为它是我的 UIThread?

0 投票
2 回答
937 浏览

android - 从网络接收数据时重新加载列表视图

我每 30 秒从网络接收一次数据。问题是来自 listview 的数据没有刷新。我使用此代码:

并填充列表视图:

我从列表视图的网络数据中获取,但它没有显示在屏幕上。请帮助..我花了很多时间来做这个:(

这是我的播放列表数组:

0 投票
2 回答
16990 浏览

java - 当 Java TimerTask 在 Timer 中调度时,它是否已经“执行”?

我想澄清一些关于 TimerTask 的事情。当您拥有以下代码时:

任务计划在接下来的 1 分钟内运行的位置,任务对象是否已经在执行?

因为在我的代码中某处我调用了 task.cancel() 但似乎调用并没有阻止

要执行的任务。我什至记录了调用的返回值,它返回 false。

当我阅读取消方法的文档时,我提出了我的问题:

取消 TimerTask 并将其从 Timer 的队列中删除。通常,如果调用没有阻止 TimerTask 至少运行一次,它会返回 false。后续调用无效。如果调用阻止了计划的执行,则返回 true,否则返回 false。

我相信我在 1 分钟延迟之前调用了 cancel()。但是怎么cancel返回false,

[task] 是否已经在执行?

希望你能给我线索/提示,甚至对此作出解释。谢谢!

0 投票
1 回答
21685 浏览

android - 我在哪里创建和使用 ScheduledThreadPoolExecutor、TimerTask 或 Handler?

我需要让我的 RSS 提要阅读器每 10 分钟检查一次提要是否有新帖子,然后在有新帖子时解析它们。我还需要大约每分钟更新一次 UI。

我从不同的渠道阅读和听到了不同的东西。我目前的理解是我可以ScheduledThreadPoolExecutor用来制作两个预定线程,其中一个需要Handler用于更新 UI。我不确定这些类或TimerTask.

我也很不确定在哪里制作这些的子类。一位朋友建议TimerTask在我的课堂上扩展为内部类FeedParser以使其更简单。但是,要以这种方式实现它,我必须使用run()for 方法TimerTask而不覆盖它,这意味着我不能简单地将所需的参数用于需要运行的函数。

简而言之,为此安排任务的最佳方式是什么,我将在哪里实施这些任务?

0 投票
1 回答
249 浏览

java - 暂停 TimerTask 直到下一次执行

我正在使用 TimerTask 来运行一些周期性任务,该任务正在处理一组文件。我有一个要求,如果要处理的文件数量超过预定限制,线程会暂停执行并等待下一个周期再次开始处理文件。有没有办法暂停 TimerTask 直到下一个执行周期,还是我必须扩展 TimerTask 类来实现这个功能?我看到有一个 TimerTask.cancel 方法,但这将取消该线程的所有进一步执行。我不希望这种情况发生。我只想让线程暂停到下一个执行周期。由于我们的框架使用 TimerTask,因此我无法迁移到 Java 中的任何其他并发类,我必须坚持下去。

非常感谢任何建议、指示或提示。

谢谢,

阿莎

0 投票
3 回答
6029 浏览

java - 如何在java中打开文件之前等待windows进程完成

我已经实现了一个监听器,它会通知我们是否在特定目录中收到了新文件。这是通过轮询和使用 TimerTask 来实现的。现在程序已经设置好,一旦它接收到一个新文件,它就会调用另一个 java 程序来打开文件并验证它是否是正确的文件。我的问题是,由于轮询发生在指定的秒数之后,可能会出现文件被复制到该目录并因此被 Windows 锁定的情况。

这会引发 IOException,因为尝试打开它以进行验证的其他 java 程序不能(“文件正在被另一个进程使用”)。

有没有办法我可以知道 Windows 何时完成复制,然后调用第二个程序从 java 进行验证?

如果有人需要它们以提供帮助,我将非常乐意发布代码片段。

谢谢