我正在使用JADE中的多代理系统,并使用WakerBehaviours来模拟事件。 但是,在某些情况下,WakerBehaviour太晚醒来会导致问题。我在下面的代码中对此进行了测试,但是在完成while循环之后," Im awake" -message总是会弹出。我怎么能避免这个?
public class Test_Agent extends Agent {
protected void setup() {
Tools.prnt(this, "starting waker");
addBehaviour(new TickerBehaviour(this, 1000) {
protected void onTick() {
Tools.prnt(myAgent, "Im awake.");
}
});
int i = 0;
while(i < 100000) {
System.out.println(i+" waiting.");
i++;
}
}
提前致谢! 干杯,Jacek
答案 0 :(得分:0)
据我所知,行为处理在setup()之后开始。 这就是为什么你应该在一个行为中移动循环,如果你想在循环中处理事件,避免循环和使用循环行为(因为行为是依次处理)。