고루틴을 완료 전에 종료할 수 있나요?
이 문제는 이전에 해결되었습니다. 당면한 문제는 고루틴 실행이 완료되기 전에 종료할 수 있는지 여부입니다.
예제는 종종 채널 모니터링을 허용하는 반복 작업에 고루틴이 참여할 때 효과적인 이러한 목적을 위해 채널 및 선택을 사용하는 방법을 보여줍니다. 그러나 제공된 코드 조각에서는 반환하기 전에 단일 작업을 수행하는 고루틴을 발견합니다.
<code class="go">func main() { stop := make(chan string, 1) go func() { time.Sleep(10 * time.Second) stop <- "stop" return }() <- stop }</code>
이 고루틴이 완료되기 전에 실행을 중지할 수 있습니까?
답변: 제어할 수 없는 고루틴
안타깝게도 고루틴이 반환되기 전에 종료할 수 있는 직접적인 방법은 없습니다(os.Exit를 사용하여 전체 프로그램을 갑자기 종료하는 것 외에).
고루틴은 본질적으로 독립적이며 외부 제어의 대상이 아닙니다. 일단 실행되면 독립적으로 작동하며 강제로 중지할 수 없습니다.
위 내용은 고루틴이 실행을 완료하기 전에 종료될 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!