如何利用所有的CPU并为每个CPU产生一个http进程? CPU的如何通过http使用多个进程
获取NUM
numCPU := runtime.NumCPU()
开始HTTP
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
在node.js的大多是多连接和其他一些实现(进程不是多线程的),接受在多个“进程”/“线程”上运行。我认为这就是他的意思,但我可以完全离开这里。 – OneOfOne 2014-09-28 18:32:24
只是澄清说,只有请求处理在goroutines(当我看到您的评论时正在写入该添加!)。老实说不确定他们想要什么,所以留给他们看。 – twotwotwo 2014-09-28 18:36:29
在nodejs中,你必须使用'cluster'为每个CPU产生一个新的线程。但是在Go中你只需要设置'runtime.GOMAXPROCS(runtime.NumCPU())'来实现相同的目标呢?这是否正确:) – clarkk 2014-09-28 19:19:55