自定义 CoroutineDispatcher 能让 VIP 任务通过优先级调度插队,同时用令牌桶限制执行速率、绑定线程亲和调度器。这些定制建立在 CPS 变换把 suspend 函数切分为带 label 的状态机之上,COROUTINE_SUSPENDED 充当暂停信使,javap 反编译即可直接验证字节码细节。 Kotlin协程把挂起函数编译成状态机后,自定义调度……

阅读全文