关于去程go关键字的使用问题

gs272 · · 5993 次点击
polaris
社区,需要你我一同完善!
超线程的,因此为4。 跟书上差太远?什么书?
#5
更多评论
polaris
社区,需要你我一同完善!
你在main函数开始处加上:`runtime.GOMAXPROCS(runtime.NumCPU())` 目前goroutine的调度实现的比较简单,堵塞时才会执行调度。 另外,你是看到《云动力》那本书上说:去程吧。还是直接叫goroutine吧,去程听着好别扭。呵呵
#1
package main import ( "fmt" "runtime" "time" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) go sheep(1) go sheep(2) time.Sleep(time.Millisecond) } func sheep(i int) { for ; ; i += 2 { fmt.Println(i, "只羊") } } 这样?还是不行,`runtime.GOMAXPROCS(runtime.NumCPU())`这句是什么意思啊?是不是根据cpu数量决定类似线程的数量? 确实是看了云动力这本书,就买了这本go的书,看着还行,尽量在专有名词上跟大家接轨。呵呵!
#2