Tag: 定时器

可重置Java定时器

我想在java.I中有一个java.utils.Timer可重置的时间需要设置一个一次性的事件发生在X秒。 如果在创build定时器和X秒之间没有任何事情发生,那么事件正常发生。 但是,如果在X秒之前,我决定事件发生在Y秒后,那么我希望能够告诉定时器重置它的时间,以便在Y秒内发生事件。 例如计时器应该能够做到这样的事情: Timer timer = new Timer(); timer.schedule(timerTask, 5000); //Timer starts in 5000 ms (X) //At some point between 0 and 5000 ms… setNewTime(timer, 8000); //timerTask will fire in 8000ms from NOW (Y). 我没有看到使用utils定时器的方法,就像调用cancel()一样,你不能再调度它。 我接近复制这种行为的唯一方法是使用javax.swing.Timer并涉及到停止原始计时器,并创build一个新的。 即: timer.stop(); timer = new Timer(8000, ActionListener); timer.start(); 有没有更简单的方法?

Timertask或Handler

嗨,我有一个快速的问题。 假设我想每10秒钟执行一些操作,并且不一定需要更新视图。 问题是:是否更好(我的意思是更有效和有效)使用计时器与时间任务像这里: final Handler handler = new Handler(); TimerTask timertask = new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { <some task> } }); } }; timer = new Timer(); timer.schedule(timertask, 0, 15000); } 或者只是一个postdelayed的处理程序 final Handler handler = new Handler(); final Runnable r = new Runnable() { […]

我如何计算在Java中的事件经过的时间?

使用Java访问系统时钟的简单方法是什么?以便我可以计算事件的stream逝时间?

gettimeofday()保证微秒的分辨率?

所以我发现自己将一个原本为Win32 API编写的游戏移植到Linux上(把Win32端口的OS X端口移植到Linux上)。 我已经实现QueryPerformanceCounter通过提供uSeconds自启动过程: BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount) { gettimeofday(&currentTimeVal, NULL); performanceCount->QuadPart = (currentTimeVal.tv_sec – startTimeVal.tv_sec); performanceCount->QuadPart *= (1000 * 1000); performanceCount->QuadPart += (currentTimeVal.tv_usec – startTimeVal.tv_usec); return true; } 这与QueryPerformanceFrequency()给出一个恒定的1000000的频率, 在我的机器上运行良好,给我一个64位的variables,包含uSeconds自程序启动。 那么这是便携式? 我不想发现,如果内核是以某种方式编译或者类似的东西的话,它的工作方式会有所不同。 但是,对于Linux以外的其他软件,我没有任何问题。

调用jQuery Ajax请求每个X分钟

如何在特定的时间段内调用Ajax请求? 我应该使用定时器插件还是jQuery有这个插件?

像C#定时器的WPF计时器

我在哪里可以find一个像WPF中的C#计时器控件的控件?

弹簧行为模拟

基本上,我想模拟绘画图像上的弹簧行为。 我想让它通过几次迭代运行(比如固定在一个弹簧上)。 我在网上find的所有例子都会导致这个类 – FloatSpring.java 它应该提供所需的计算来将点A移动到点B,并使用类似弹簧的效果,这取决于各种FloatSpring类的设置。 问题是,我没有find一个明确的例子,如何正确使用它。 我做了这个小例子来testingFloatSpring : public static void main ( String[] args ) { // Some image to bounce final ImageIcon icon = new ImageIcon ( WebProgressOverlayExample.class.getResource ( "icons/ava1.jpg" ) ); // Component to paint image on JComponent spring = new JComponent () { // Zoom value (1f = 100% = […]

如何在Objective-C中编写Timer?

我试图用NSTimer做一个秒表。 我给了下面的代码: nst_Timer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(showTime) userInfo:nil repeats:NO]; 它不工作在毫秒。 它需要超过1毫秒。

正确的方法来实现一个永无止境的任务。 (定时器vs任务)

所以,只要应用程序正在运行或请求取消,我的应用程序就需要几乎连续地执行一个操作(每次运行之间暂停10秒左右)。 它需要做的工作可能需要长达30秒。 使用System.Timers.Timer并使用AutoReset确保它在上一个“打勾”完成之前不会执行操作会更好吗? 还是应该使用带有取消标记的LongRunning模式的常规任务,并在其中调用执行工作的动作,并在调用之间使用10秒的Thread.Sleep? 至于asynchronous/等待模式,我不确定这是否合适,因为我没有任何工作返回值。 CancellationTokenSource wtoken; Task task; void StopWork() { wtoken.Cancel(); try { task.Wait(); } catch(AggregateException) { } } void StartWork() { wtoken = new CancellationTokenSource(); task = Task.Factory.StartNew(() => { while (true) { wtoken.Token.ThrowIfCancellationRequested(); DoWork(); Thread.Sleep(10000); } }, wtoken, TaskCreationOptions.LongRunning); } void DoWork() { // Some work that takes up to 30 […]

停止一个秒表

我有一个JPanel类中添加到另一个类(JFrame)的以下代码。 我想要实现的是某种秒表程序。 startBtn.addActionListener(new startListener()); class startListener implements ActionListener { public void actionPerformed(ActionEvent e) { Timer time = new Timer(); time.scheduleAtFixedRate(new Stopwatch(), 1000, 1000); } } 这是另外一个基本上任务的课。 public class Stopwatch extends TimerTask { private final double start = System.currentTimeMillis(); public void run() { double curr = System.currentTimeMillis(); System.out.println((curr – start) / 1000); } } 计时器工作正常,这是肯定远远没有完成,但我不知道如何编码应该停止计时器的停止button。 对此有何build议? […]