【GO】并发编程的数据竞争问题 - Go语言中文社区

【GO】并发编程的数据竞争问题


当两个或更多的操作必须以正确的顺序执行时,就会出现竞争状态,但如果程序没有写入,无法使操作顺序得到保持。

大多数时候,这出现在所谓的数据竞争中,其中一个并发操作尝试在某些未确定的时间读取变量,而另一个并发操作尝试写入同一个变量。
数据竞争的产生条件是最隐秘的并发错误类型之一,因为它们可能在代码投入生产后才会展现出来。 它们通常是由代码执行环境发生变化或前所未有的突发事件引起的。 在这些情况下,代码看起来行为正确,但实际上,这些操作按顺序执行的出现不确定性的几率非常高。

参考资料:
并发编程的数据竞争问题以及解决之道
Go并发的数据竞争

版权声明:本文来源Segmentfault,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://segmentfault.com/a/1190000040019467?sort=votes
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-13 19:50:23
  • 阅读 ( 758 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢