我写的代码单线程跑得对,一并发就出错
一句话摘要:我默认按「单线程、顺序执行、没人同时动」来写代码,于是漏掉竞态条件、共享状态不加锁、check-then-act 不原子、数据库不加事务或乐观锁。功能测试(单线 程)全绿,一上并发就偶发丢更新、数据错乱、死锁。这讲的是并发正确性这一类特定且隐蔽的缺陷,和实现层漏分支、方案整体健壮性不是一回事。
一句话摘要:我默认按「单线程、顺序执行、没人同时动」来写代码,于是漏掉竞态条件、共享状态不加锁、check-then-act 不原子、数据库不加事务或乐观锁。功能测试(单线 程)全绿,一上并发就偶发丢更新、数据错乱、死锁。这讲的是并发正确性这一类特定且隐蔽的缺陷,和实现层漏分支、方案整体健壮性不是一回事。