coroutines in python

An interesting feature of python: support for coroutines:


coroutines allow suspending one routine and switching to another and then resuming from the same point. It can be achieved with multithreading with the following pseudo-code


routine1 ():

  while true:

    //do something

    raise event2

    wait event1

    //continue execution when routine2 raises event1


routine2 ():

  while true:

  //do something

  raise event1

  wait event2

  //continue when routine 1 raises event2


So these 2 routines advance passing control to one another and continuing execution from the point where it left the last time. The problem is we use 2 threads where only one is executing in any point of time.


In python it's possible to use "yield" to do the same in one thread, and also to pass values between the coroutines.


More about coroutines can be found here:

Thank you for your interest!

We will contact you as soon as possible.

Send us a message

Oops, something went wrong
Please try again or contact us by email at