greenlet

Lightweight in-process concurrent programming

Here are some articles that you may find helpful