Gemini CLI 修复并行 Agent 文件竞态,写入全面原子化
elberthc-byte · ghdev · 2026-09-25
Google Gemini CLI 合并了一个 P1 级 PR,系统性修复并行工具执行(尤其是并行 sub-agent)同时操作同一文件时的竞态问题:此前无协调的读-改-写会导致静默丢失更新、diff 计算错误以及 shadow Git 快照的 .git/index.lock 冲突。
核心做法:
- 引入进程内按路径的异步互斥锁 withPathLock,锁键规范化为真实绝对路径,队列中的等待者可响应 AbortSignal 立即取消
- 将 EditTool 与 WriteFileTool 的读-改-写临界区按路径串行化,防止两个并行操作基于同一基线互相覆盖
- 文件写入改为「同目录临时文件 + 原子 rename」实现原子性,保留原文件权限,处理 Windows 下 EBUSY/EPERM 等瞬时锁错误重试
- shadow Git 快照创建按项目根路径串行化,避免索引锁冲突
「编程与Agent」频道最新
- 20 分钟花 40 美元,Opus 5.5 写代码做出完整创业公司宣传片 — cedric_chee · 2026-09-26
- GitHub 联创坐镇的 OpenClaw 2.0 黑客松开赛:冠军飞 SF,奖品两台 Mac mini — steipete · 2026-09-26
- Opus 5.5 五分钟生成像素猫动画,作者公开完整 Prompt — majidmanzarpour · 2026-09-26
- 多人用 Opus 5.5 代码绘制像素动画,作者计划改成游戏 — majidmanzarpour · 2026-09-26
- Agent Flow 插件:在侧边栏实时可视化 Claude Code 全部子代理 — EricBuess · 2026-09-26
- 用 Jev 循环 GPT-6 Luna 逐句改写,一键去除 AI 味让文章更像本人 — iamrobotbear · 2026-09-26