coroutineContext

用于 EventDispatcher 中进行事件调度的协程上下文。每一次事件处理都会被切换至此上下文中。 coroutineContext 会作为调度事件时候使用的调度器, 事件在处理的时候会被切换至此上下文中(例如使用其中的调度器等)。

如果 coroutineContext 中存在 Job,则此 Job被剔除EventDispatcher 的调度结果最终以流 Flow 的形式提供, 因此每次调度任务的生命周期由接收者决定,Job 不起作用(Flow 的调度上下文中也不允许 Job 存在)。

当同时使用 coroutineContextFlow.flowOn 对时间调度流指定调度器时, coroutineContext 会优先生效于事件调度逻辑本身。

注:当配置了 coroutineContext,那么每次进行事件调度的时候都会产生大量的上下文切换行为。 切换的次数取决于事件处理器的数量和事件调度链结果流最终被收集的数量。