协程是如何“结构化取消”的