In concurrency, a race condition is anything where the outcome depends on the relative ordering of execution of operations on two or more threads;
因为race condition一般来说都是时间敏感(timing-sensitive)的,所以如果直接debug的话经常就无法复现
避免race condition
主要有三种方法避免race condition
使用锁之类的机制
更改数据结构以实现无锁并发
将对数据结构的更新作为一个事务(transaction)
好像有相关的术语software transactional memory (STM),可以了解一下?