1

在jave中,我有一个状态机,我需要迁移到自动状态更改,在这我的意思是我需要在某些间隔之后发生状态更改..例如在5秒后状态一,10秒后状态2。

我正在考虑使用 ;

    ScheduledExecutorService executor = new ScheduledThreadPoolExecutor(1);

安排一个基本上调用方法的任务,该方法将更改状态,然后安排另一个任务更改为下一个状态,依此类推。

有任何想法吗?

4

1 回答 1

0

需要类似这样的代码:

ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
exec.scheduleWithFixedDelay(new Runnable() {
        public void run() {
            // TODO: do something
        }
    }, 
    0, // no wait and start the 1st one
    5, // delay 5 seconds and do the next one
    TimeUnit.SECONDS);

您还可以查看 scheduleAtFixedRate()。

于 2012-10-25T21:39:54.020 回答