这一段怎么看都时死循环的代码,居然不占CPU,说明go内部给锁住了。
<iframe style="border:1px solid" src="https://wide.b3log.org/playground/0beb211ac2cab230c62fc9d3c854d580.go?embed=true" width="99%" height="600"></iframe>
但是把 ks := make([]int, 100000) 改成 ks := make([]int, 1000) 就可以跑满CPU了。
我用的是 1.6版, 1.5版的这种问题更严重。
我用go1.6.2 windows/amd64测试了一下,发现两者都占cpu,ks := make([]int, 100000)约占60%,改成 ks := make([]int, 1000)后约占90%,后者明显要高一些。
#1
更多评论