同步与异步通信模式

理解同步和异步通信模式

一、同步通信模式

主代理发送消息后等待子代理完成。

TaskOutput(block: true)阻塞等待结果。

适用于需要立即处理结果的场景。

优点:编程模型简单直观。

缺点:主代理被阻塞不能处理其他任务。

二、异步通信模式

主代理发送消息后立即继续其他工作。

TaskOutput(block: false)非阻塞检查结果。

子代理完成后通过通知告知主代理。

适用于后台任务和并行处理场景。

三、消息队列和投递机制

消息自动排队等待目标子代理处理。

子代理在完成当前工作后处理新消息。

消息的顺序保证和优先级。

消息投递失败的重试机制。

四、超时和轮询策略

设置合理的超时时间避免无限等待。

定期轮询检查子代理进度。

超时后的降级处理(重试/跳过/报错)。

长任务的心跳和进度报告。

五、场景选择指南

快速任务(<30秒)→同步通信更简单。

慢速任务(>1分钟)→异步通信更高效。

需要立即反馈→同步。

不需要立即结果→异步。

混合模式:先同步检查快速路径,再异步处理深度任务。