问题域/PD-309

并发与文件锁

Concurrency & File Locking

在多进程并行场景下通过文件锁保证共享状态的原子性更新

子问题

1.竞态条件防护

2.原子读-改-写

3.进程间同步

4.锁粒度控制

5.锁范围一致性(同一项目不同模块锁范围不一致的工程风险)

6.运行时配置文件的进程间隔离

各项目的解法1 solutions

Signals

横向对比

维度AI-Trader
锁机制fcntl.flock(LOCK_EX) POSIX 文件排他锁
锁粒度per-signature 独立锁文件,不同 Agent 零竞争
原子操作范围加密货币交易完整覆盖读-改-写;股票交易锁范围不足(已知缺陷)
并行模型asyncio.create_subprocess_exec 多进程并行,asyncio.gather 等待
数据格式JSONL 追加写入 + 递增 action_id 事务日志
跨平台兼容仅 Unix/macOS(fcntl),无 Windows 支持

最佳实践

1.使用 fcntl 文件锁而非内存锁实现跨进程同步

2.锁文件与数据文件同目录放置,便于生命周期管理

3.asyncio subprocess + --signature 参数实现进程级 Agent 隔离