장기 실행되는 Go 프로그램을 유지하기 위한 모범 사례
장기 실행되는 Go 프로그램을 조기 종료하지 않고 실행하는 것이 중요할 수 있습니다. 특정 응용 프로그램. 메인 함수가 종료되면 프로그램도 종료되어 실행 중인 고루틴이 중단된 상태로 남습니다. 프로그램이 예상되는 시점에 계속 활성 상태를 유지하도록 어떻게 보장할 수 있나요?
메인 고루틴 종료를 방지하는 일반적인 방법 중 하나는 fmt.Scanln()에 대한 간단한 호출을 사용하는 것입니다. 그러나 콘솔 상호 작용을 의도하지 않는 경우 이 옵션은 문제가 됩니다.
대신 다음 권장 사항을 고려하세요.
영구 차단:
무한 대기를 위해 선택 {}를 사용하여 기본 고루틴을 차단합니다. 이 접근 방식을 사용하면 select 문이 중단되지 않는 한 프로그램이 계속 유지됩니다.
package main import ( "fmt" "time" ) func main() { go forever() select {} // block forever } func forever() { for { fmt.Printf("%v+\n", time.Now()) time.Sleep(time.Second) } }
위 내용은 장기 실행 Go 프로그램이 조기에 종료되지 않도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!