Heim  >  Artikel  >  Backend-Entwicklung  >  Goroute-Coroutine in Go-Sprache

Goroute-Coroutine in Go-Sprache

尚
nach vorne
2020-02-29 16:53:313455Durchsuche

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 in Go-Sprache

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen