共计 263 个字符,预计需要花费 1 分钟才能阅读完成。
当两个或更多的操作必须以正确的程序执行时,就会呈现竞争状态,但如果程序没有写入,无奈使操作程序失去放弃。
大多数时候,这呈现在所谓的数据竞争中,其中一个并发操作尝试在某些未确定的工夫读取变量,而另一个并发操作尝试写入同一个变量。
数据竞争的产生条件是最隐秘的并发谬误类型之一,因为它们可能在代码投入生产后才会展示进去。它们通常是由代码执行环境发生变化或前所未有的突发事件引起的。在这些状况下,代码看起来行为正确,但实际上,这些操作按程序执行的呈现不确定性的几率十分高。
参考资料:
并发编程的数据竞争问题以及解决之道
Go 并发的数据竞争
正文完