Поигрался с коро немного. Не переключается во время интенсивных тасков, но и не гарантирует, что не прервется, так что семафоры и локи для синхронизации нужны. Короче в 100 раз сложнее программировать, чем обычный event loop, а работает как event loop. Для чего такое надо? Наделать сложного -- это в стиле автора :)