如果我运行 go 代码的服务器只有一个核心,我可以通过在其上运行 goroutine 来获得更好的性能吗?是的,为什么在没有并行性的情况下会更快?
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
这取决于代码和您要阻止的内容。如果您在 I/O 上阻塞(但仍有其他非 I/O 工作要做),那么单个内核上的多个 goroutine 可以显着加快。如果你在 CPU 上阻塞,那么由于额外的开销,多个 goroutine 可能会有点慢。如果您在内存上阻塞,那么由于额外的争用和缓存无效,多个 goroutine 可能会显着变慢。没有一般的答案;这取决于你用并发解决什么问题,以及你如何实现它。
- 1 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消