一个定时状态机,这有用吗?

时间:2012-10-24 15:30:59

标签: java concurrency

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

我正在考虑使用;

    ScheduledExecutorService executor = new ScheduledThreadPoolExecutor(1);

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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()。