登录
首页 >  Golang >  Go问答

存在竞争条件是否可以接受?

来源:stackoverflow

时间:2024-04-24 11:42:22 496浏览 收藏

你在学习Golang相关的知识吗?本文《存在竞争条件是否可以接受?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我正在编写 go 代码,想知道是否可以接受竞争条件。例如,只要主线程稍后会读取该值,就可以在 goroutine 中写入主线程可能使用的变量吗?是否应该始终避免竞争条件,或者是否存在可以接受竞争条件的情况?


解决方案


TL;DR
竞争条件有害,并且可能是漏洞的原因。

什么是竞争条件?
竞争条件意味着多个线程需要相同的资源,并且获取该资源的线程的顺序取决于实际运行,因此是不确定的。


总是危险吗?
这就像一场赛马,不同的线程是不同的马:如果您的软件需要特定的马(线程)来获得第一个(资源)才能有效执行,那么这是一个问题 - 但如果您不小心获得线程的顺序资源还好啊


安全视角
竞争条件通常是有害的,甚至会导致漏洞,例如 dirtyc0w

今天关于《存在竞争条件是否可以接受?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>