Heim >Backend-Entwicklung >Golang >Der Grund, warum Golang eine hohe Parallelität erreichen kann

Der Grund, warum Golang eine hohe Parallelität erreichen kann

(*-*)浩
(*-*)浩Original
2019-12-13 14:42:512628Durchsuche

Der Grund, warum Golang eine hohe Parallelität erreichen kann

Warum Go eine hohe Parallelität erreichen kann

Goroutine ist der Kern des Go-Paralleldesigns. Letztlich ist Goroutine eigentlich eine Coroutine , aber sie ist kleiner als ein Thread. Dutzende von Goroutinen können auf der untersten Ebene als fünf oder sechs Threads dargestellt werden. (Empfohlenes Lernen: GO )

Goroutine benötigt nur einen sehr kleinen Stapelspeicher (ca. 4 ~ 5 KB) und ist natürlich entsprechend den entsprechenden Daten skalierbar. Aus diesem Grund können Tausende gleichzeitiger Aufgaben gleichzeitig ausgeführt werden.

Goroutine ist einfacher zu verwenden, effizienter und leichter als Thread.

Einige Lösungen für die Verarbeitung mit hoher Parallelität verwenden grundsätzlich auch die Coroutinen der Lua-Sprache, um die leistungsstarken Verarbeitungsfunktionen von PHP zu erreichen. Swoole verwendet derzeit auch die Coroutinen von PHP.

Coroutinen sind leichter und belegen weniger Speicher, was die Voraussetzung für eine hohe Parallelität ist.

So erreichen Sie eine hohe Parallelität bei der Go-Webentwicklung

Lernen Sie Go-HTTP-Code. Erstellen Sie zunächst einen einfachen Webdienst.

package main
import (
    "fmt"
    "log"
    "net/http"
)
func response(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello world!") //这个写入到w的是输出到客户端的
}
func main() {
    http.HandleFunc("/", response)
    err := http.ListenAndServe(":9000", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

kompilieren Sie dann

go build -o test_web.gobin
./test_web.gobin

und greifen Sie dann auf

curl 127.0.0.1:9000
Hello world!
zu

Das obige ist der detaillierte Inhalt vonDer Grund, warum Golang eine hohe Parallelität erreichen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn