程广
|
b38367f09f
|
feat(lock-client): 重构锁请求管理机制以支持并发处理
将单一 requestId 字段替换为 Map 类型的 requests 字段,用于存储多个未完成的锁请求及其对应的 resolve 函数。注释掉原有 isLocked 检查逻辑,允许更灵活的锁控制流程。
fix(namedpipe): 修复父类构造函数参数传递错误
在 NamedPipeRWLock 构造函数中调用 super() 时补充缺失的 resource 参数,确保父类正确初始化。
feat(lock-server): 改进读锁客户端标识以增强唯一性
更新 readers 集合中的元素格式,从 clientId 变为 `${clientId}_${requestId}`,提高锁持有者标识的唯一性和可追踪性。
|
2025-11-18 14:54:37 +08:00 |
程广
|
14d81e8f5c
|
```
feat(lock): 实现基于TCP和命名管道的读写锁服务端与客户端
新增支持通过TCP协议和命名管道进行通信的读写锁机制,包括服务端和客户端实现。
主要变更包括:
- 添加 LockServer 基类及 NamedPipeLockServer、TCPLockServer 实现
- 新增 LockClient 基类以及 NamedPipeRWLock 和 TcpRwLock 客户端实现
- 更新测试用例以适配新的连接配置方式,并增加对 TCP 锁的支持
- 调整 jest 超时设置以便更好地支持异步锁操作测试
- 导出新模块至 index.js 便于外部使用
```
|
2025-11-17 15:32:19 +08:00 |
kingecg
|
a9cb0294af
|
feat(namedpipe): 实现基于命名管道的读写锁功能
新增了基于命名管道的读写锁服务端和客户端实现,支持跨进程的读写锁同步机制。
主要功能包括:
- 读写锁基本语义:允许多个读者并发访问,写者独占访问
- FIFO锁请求队列,确保公平性
- 客户端自动重连与超时机制
- 完整的单元测试覆盖各种锁竞争场景
- 支持 Windows 命名管道和 Unix Domain Socket
此功能可用于需要跨进程同步访问共享资源的场景,提供可靠的并发控制能力。
|
2025-11-16 21:00:55 +08:00 |