作者回复: feihui同学,你好,实际的CPU硬件里面有专门的冒险检测电路。从逻辑层面,因为每条指令需要访问的地址都是知道的,前后指令的依赖关系能决定是否会触发数据冒险。
作者回复: 没错,不过这个思路其实也是软件架构慢慢容易“腐化”的原因。随着中间层变多,系统的复杂度和熵在增加,如果没有精心维护,容易最后变成一个难以维护的代码库。