登录
首页 >  Golang >  Go问答

在单核处理器上使用 Go 进行并发

来源:stackoverflow

时间:2024-03-27 10:45:27 276浏览 收藏

在单核处理器上运行的 Go 程序,即使包含至少 2 个 goroutine 调用,也会发生并发。然而,这种并发的有效性取决于程序解决问题的性质。如果程序完全受 CPU 限制,并发无法提升性能;但如果程序受 I/O 限制,即使在单核环境中,并发也可能带来性能提升。

问题内容

如果 Go 程序包含至少 2 个 goroutine 调用,在单核机器上运行,会有并发吗?


正确答案


简短回答:是的,会有并发。

它的有效性取决于您的程序要解决的问题的性质。如果你的程序完全受 CPU 限制(计算一些数学方程等),那么你将不会从拥有 2 个 goroutine 中获得性能,但它仍然会同时工作。如果您的程序受 I/O 限制(例如网络服务器),即使在单 CPU 情况下,并发也可能会带来更好的性能。

请观看 Rob Pike 的 Concurrency is not parallelism 演讲。

好了,本文到此结束,带大家了解了《在单核处理器上使用 Go 进行并发》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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