Die Haupt-Goroutine eines Go-Projekts auf unbestimmte Zeit laufen lassen
Im Gegensatz zu Hauptfunktionen in anderen Programmiersprachen wird die Haupt-Goroutine von Go beendet, wenn die Funktion verlassen wird. Dies wirft die Frage auf: Wie können wir die Haupt-Goroutine auf unbestimmte Zeit laufen lassen?
Die Goroutine „schlafen“
Mehrere Konstrukte können die Haupt-Goroutine blockieren, ohne CPU-Ressourcen zu verbrauchen:
Beenden der Goroutine
Wenn es darum geht, eine Möglichkeit zum Aufhören bereitzustellen, einen Kanal kann verwendet werden:
Schlafen ohne Blockieren
Wenn wir die Haupt-Goroutine nicht blockieren, sondern nur verhindern möchten, dass sie beendet wird, können die folgenden Konstrukte dies tun verwendet werden:
Hinweis:
Schließen des quitchannel kann das Programm jederzeit beenden, auch wenn andere Goroutinen ausgeführt werden. Dies liegt daran, dass die Haupt-Goroutine beim Empfang vom geschlossenen Kanal zurückkehrt, was dazu führt, dass das Programm beendet wird, bevor Nicht-Haupt-Goroutinen abgeschlossen sind.
Das obige ist der detaillierte Inhalt vonWie kann die Haupt-Goroutine eines Go-Programms auf unbestimmte Zeit ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!