闭卷重建事件循环与任务状态的对象、状态、事件、不变量与一个失败反例。
程序设计 II:抽象、内存与并发 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建await与让出点的对象、状态、事件、不变量与一个失败反例。
闭卷重建并发收集与结果顺序的对象、状态、事件、不变量与一个失败反例。
闭卷重建取消、超时与清理的对象、状态、事件、不变量与一个失败反例。
闭卷重建限流、背压与容量调度的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:异步并发收集的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:超时结果归类的对象、状态、事件、不变量与一个失败反例。
核心机制:await与让出点必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕await与让出点先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:await与让出点不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:事件循环与任务状态必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕事件循环与任务状态先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:事件循环与任务状态不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:取消、超时与清理必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕取消、超时与清理先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:取消、超时与清理不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:并发收集与结果顺序必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕并发收集与结果顺序先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:并发收集与结果顺序不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:异步并发收集必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:异步并发收集先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:异步并发收集不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:限流、背压与容量调度必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕限流、背压与容量调度先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:限流、背压与容量调度不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:超时结果归类必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:超时结果归类先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:超时结果归类不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。