Coroutine ist eine leichtgewichtige Thread-Implementierung in der Go-Sprache und wird von der Go-Laufzeit verwaltet. Im Folgenden finden Sie eine Einführung in die Goroute-Coroutine in der Go-Sprache aus der Spalte Go Getting Started Tutorial.
Goroute-Coroutine
Prozesse und Threads
Prozesse sind Systemressourcen. Die Basis Einheit der Zuordnung und Planung. Thread ist die Grundeinheit der CPU-Planung und -Verteilung. Ein Prozess kann mehrere Threads erstellen und abbrechen
Parallelität
Multithreading Programm läuft auf einer CPU mit einem Kern, was Parallelität ist
Ein Multithread-Programm läuft auf einer CPU mit mehreren Kernen, was parallel ist
Coroutinen und Threads
Coroutine: unabhängiger Stapelspeicher, gemeinsam genutzter Heap-Speicher, vom Benutzer gesteuerte Planung, im Wesentlichen ähnlich wie Threads auf Benutzerebene, die Planung dieser Threads auf Benutzerebene wird von ihnen selbst implementiert.
Thread: Ein Thread kann mehrere Coroutinen ausführen.
Ein einfacher Parallelitätsfall.
package main import( "fmt" "time" ) func test(){ for{ fmt.Println("hello") time.Sleep(time.Second) } } func main(){ go test() for{ fmt.Println("world") time.Sleep(time.Second) } }
Für weitere Go-Sprachkenntnisse beachten Sie bitte die Spalte Go-Sprach-Tutorial Chinesische PHP-Website.
Das obige ist der detaillierte Inhalt vonGoroute-Coroutine in Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!