有一个对时间敏感的任务列表(但在这种情况下,“时间”对于另一个程序告诉我的内容是任意的 - 它更像是“滴答声”而不是时间)。但是,我不希望立即评估所述方法。我希望一个在另一个完成后执行。我在队列中使用链表,但我不确定如何/是否可以访问类中的实际方法而不立即评估它们。
代码看起来像......
LinkedList<Method> l = new LinkedList<Method>();
l.add( this.move(4) );
l.add( this.read() );
l.removeFirst().call();
//wait 80 ticks
l.removeFirst().call();
move(4)
将立即执行,然后 80 个时钟周期后,我会将其从列表中删除并调用this.read()
然后将被执行。
我假设这与反射类有关,并且我已经研究了一下,但我似乎无法让任何东西发挥作用,或者做我想做的事情。如果我能使用指针就好了...
澄清一下:这些命令将由另一个不知道任何时间的类调用,这就是这个类必须处理它的原因。它只会调用预期按顺序执行的方法。有些方法除了更改状态外不返回任何内容。
PriorityBlockingQueue 是你的朋友。通常,要获得类似于 Java 中的一流函数的东西,您需要使用一个小型接口(例如 runnable),并在(匿名内部)类中扩展它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)