在jave我有一个状态机,我需要迁移到自动状态更改,在这里我的意思是我需要在certan间隔后发生状态更改...例如在5秒状态1之后,在10秒状态2之后。 / p>
我正在考虑使用;
ScheduledExecutorService executor = new ScheduledThreadPoolExecutor(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()。