第 51 课2026.09.11
验证并发释放完成后,后续关闭不会再次触发底层释放。
第 51 课:并发关闭成功状态测试
- 日期:2026-09-11
- 课程序号:第 51 课
- 知识点:并发 close 后的幂等断言
用途
验证并发释放完成后,后续关闭不会再次触发底层释放。
核心概念
测试同时等待两个 close(),再追加第三次调用,并分别断言共享任务与成功状态。
最小代码或操作示例
ts
let count: number = 0
const handle: Handle = new Handle(async (): Promise<void> => { count += 1 })
await Promise.all([handle.close(), handle.close()])
await handle.close()
expect(count).assertEqual(1)3~5 分钟练习
把底层释放改为可控 Promise,释放前检查次数。
参考答案
两个并发调用开始后次数为 1;释放并第三次关闭后仍为 1。
与上一课的联系
上一课实现成功状态;本课用并发与后续调用证明契约。