如何利用所有的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