补全:两段顺序相反吗
补全 shared_inversion:两段对共同的锁顺序相反就有风险。
真实代码分析模型:把每段代码的加锁顺序记成一个锁名列表。shared_inversion(a, b) 判两段对「共同的锁」顺序是否相反(相反=有死锁风险);risky_pairs(funcs) 数有多少对彼此逆序;safe_all(funcs) 判是否两两都一致。
补全 shared_inversion:两段对共同的锁顺序相反就有风险。
真实代码分析模型:把每段代码的加锁顺序记成一个锁名列表。shared_inversion(a, b) 判两段对「共同的锁」顺序是否相反(相反=有死锁风险);risky_pairs(funcs) 数有多少对彼此逆序;safe_all(funcs) 判是否两两都一致。
全部评论