Dart Isolate消息延迟疑问:主与工作Isolate消息交互阻塞问题
关于Dart Isolate双向消息传递的疑问
我正在学习Dart Isolate,尝试实现主Isolate与工作Isolate之间的双向消息传递。目前已实现双向消息发送,但出现了异常情况:
- 工作Isolate发送的消息可立即在主Isolate的
listen回调中处理 - 主Isolate发送给工作Isolate的消息,需等工作Isolate完成全部任务后,才会被其
listen回调处理
核心疑问
- 消息是否应实时传输?
我基于2022年10月的Flutter/Dart版本制作了可运行的测试代码,结果显示工作Isolate的消息是实时传输的,但发给工作Isolate的消息会被一次性全部处理。

- 发给工作Isolate的消息是否被其繁忙的for循环阻塞?
测试代码中,工作Isolate内包含一个长时间运行的for循环,主Isolate会在该循环执行过程中发送多条消息,最终出现了上述消息延迟处理的情况。
内容的提问来源于stack exchange,提问作者mirkaim
相关产品推荐
相关产品推荐

