2

I have a model with about 10 scheduled methods. Now I am a little bit confused on controlling their execution. I want these scheduled methods to be executed in a certain order.

How can I have ScheduleParameters.FIRST_PRIORITY, ScheduleParameters.Second_PRIORITY, ScheduleParameters.THIRD_PRIORITY, ..., and ScheduleParameters.LAST_PRIORITY.

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
user2925516
  • 65
  • 1
  • 10

1 Answers1

3

The various ScheduleParameters.createX methods all take a double value that specifies priority. For example, if you have

ScheduleParameters sp1 = ScheduleParameters.createRepeating(1, 1, 0); ScheduleParameters sp2 = ScheduleParameters.createRepeating(1, 1, 10);

the priorities are 0 for sp1 and 10 for sp2. Actions scheduled with sp1 and sp2 will occur at tick 1 and then every tick thereafter. But sp2 actions will occur before the sp1 actions scheduled at the same tick.

There are also two special priority values ScheduleParameters.FIRST_PRIORITY and ScheduleParameters.LAST_PRIORITY that can be used to make sure an action executes before or after any other action schedule for the same tick.

See https://repast.github.io/docs/api/repast_simphony/repast/simphony/engine/schedule/ScheduleParameters.html for more info.

Nick Collier
  • 1,786
  • 9
  • 10