我想要一个每2秒更改一次自己的私有变量的类。我知道如果我做类似的事情
import java.util.Timer;
//...
Timer timer;
//...
timer.schedule(new ChangeSomething(), 2000);
它会ChangeSomething()
在2秒后执行,是否有办法告诉它每2秒执行一次操作,或者,如果我将其放入ChangeSomething()
timer.schedule(new ChangeSomething(), 2000);
能行吗
在旁注中,timer.cancel()
确切的作用是什么?
使用timer.scheduleAtFixedRate()
安排它每两秒钟复发:
从指定的时间开始计划指定的任务以重复执行固定速率。随后的执行大约每隔固定的时间间隔执行一次,并间隔指定的时间。
从javadoc中获取Timer.cancel()
:
终止此计时器,放弃任何当前计划的任务。不干扰当前正在执行的任务(如果存在)。计时器终止后,其执行线程将正常终止,并且无法在其上安排更多任务。
编辑:
与Timer
一次执行单个任务的内部执行线程有关:
在最后一个对Timer对象的实时引用消失并且所有未完成的任务均已完成执行之后,计时器的任务执行线程会正常终止(并接受垃圾回收)。但是,这可能要花很长时间。默认情况下,任务执行线程不会作为守护程序线程运行,因此它能够防止应用程序终止。如果调用方想快速终止计时器的任务执行线程,则调用方应调用计时器的cancel方法。
问题内容: 我想创建一种秒表,当分钟数达到20分钟时,会弹出一个对话框,该对话框不是问题。但是我的分钟变量在此代码中没有增加。 问题答案: 您可以使用以下方法真正简化整个程序:
下面是我得到的错误: 下面是我的文件夹和资源的映像,如果有助于解决此问题:
我想写一个这样的链表: 这是我迄今为止尝试过的,但显然是错误的。我想知道如何用java正确地表达这一点? 谢谢
问题内容: 我创建了一个计时器,该计时器在按下按钮时启动,上面是运行的代码。谁能帮我创建一个计数为30的计时器?现在,当我运行它时,在标签中设置文本“ 30”,但我希望它从0开始并一直计数到30。 问题答案: 每次您的计时器运行时,它都会执行从0到30的循环,因此仅在循环结束时才刷新UI。您需要将i保留为成员,并在每次这样调用该方法时对其进行更新: 当然,一旦达到i = 30,您就应该取消时间,否
我正在尝试用java编写以下SOAP请求,但似乎很难在请求中引用id类型元素。有人知道如何使用java编写以下请求javax.xml.soap?我从一个非常简单的请求开始。非常感谢任何帮助。谢谢!
问题内容: 我想做一个计时器,它会在发生某些事情时重新启动: 创建新时间表时出现问题,出现以下错误: 我不知道该怎么办!谢谢! 问题答案: 这对我来说很好用…您可以粘贴完整的代码和错误吗? 输出: