跨线程与跨容器通信怎样设计才能兼顾延迟、吞吐和稳定性
简答题中等935 次浏览
参考答案与解析
# 核心结论
跨线程与跨容器通信应把延迟、吞吐、顺序、一致性和故障恢复作为一个整体设计。关键不是简单减少调用次数,而是依据消息的大小、频率、时效性、是否可覆盖、是否必须有序以及是否允许重放,选择同步或异步、复制或转移、单条或批量等策略,并为队列设置上限、背压、合并、取消和超时。一次通信的真实成本通常包括编码、复制或所有权转移、线程调度、队列等待、消费端执行、结果编码以及回切调用线程,只有测量完整链路,才能判断把任务迁移到其他线程是否真正降低了用户可见延迟。
# 底层机制
在 Web 中,主线程与 Web Worker 通常通过 postMessage() 传递消息。普通对象需要经过结构化克隆,大对象可能产生
