-# This example does not much: It just spans over-polite actor that yield a large amount
-# of time before ending.
-#
-# This serves as an example for the simgrid.yield() function, with which an actor can request
-# to be rescheduled after the other actor that are ready at the current timestamp.
-#
-# It can also be used to benchmark our context-switching mechanism.
-
-# Main function of the Yielder process
-class Yielder:
- number_of_yields = 0
- def __init__(self, *args):
- self.number_of_yields = int(args[0])
- def __call__(self):
- for i in range(self.number_of_yields):
- this_actor.yield_()
- this_actor.info("I yielded {:d} times. Goodbye now!".format(self.number_of_yields))
+def yielder(number_of_yields):
+ for _ in range(number_of_yields):
+ this_actor.yield_()
+ this_actor.info("I yielded {:d} times. Goodbye now!".format(number_of_yields))