Alternative modelling

Instead of working with greenlets (yieldless) possible to run salabim with coroutines (yields).

This means, instead of

self.passivate()
self.double_hold(2)
item = self.from_store(my_store)

one has to do

yield self.passivate()
yield from self.double_hold(2)
item = yield self.from_store(my_store)

And things like

other.activate()
other.interrupt()

do not change.

In order to run with coroutines (yields), use

import salabim as sim
sim.yieldless(False)

We refer to the coroutine (yields) documentation for details.