Goroutines는 Go에서 가벼운 실행 스레드입니다. 스레드와 달리 Goroutines는 GO 런타임에 의해 관리되고 프로그램의 다른 Goroutines와의 메모리를 공유합니다.
[) 함수는 "World"를 인쇄 할 책임이있는 Goroutine입니다. Time.sleep () 명세서는 반복 당 100 밀리 초에 대한 Goroutine의 실행을 인위적으로 지연시킵니다. GO GOROUTINE 스케줄러가 비판적이지 않기 때문입니다. Goroutines는 자발적으로 제어를 생성하여 다른 Goroutines가 실행할 수있게합니다.
기본 Goroutine
main () 함수는 기본 goroutine입니다. Time.sleep ()가 제거되면 1 차 고루 틴은 제어를 포기하지 않고 5 번 ( "Hello") Say ( "Hello")를 실행합니다. 결과적으로, ( "World") Goroutine은 결코 실행되지 않으며, "hello"만 화면에 인쇄됩니다.
[), 기본 Goroutine은 실행 및 프로그램 종료를 마무리합니다. 프로그램을 계속 유지하기 위해 다른 goroutine이 실행되지 않기 때문입니다. 반대로, time.sleep ()가 사용될 때, Say ( "World") Goroutine은 컨트롤을 생성하여 기본 Goroutine과 프로그램이 계속 실행되도록합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3