"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > `시간. 잠 들어있는 '블록 goroutines?

`시간. 잠 들어있는 '블록 goroutines?

2025-02-04에 게시
검색:470

Does `time.Sleep` Block Goroutines? 
그러나 스레드에서 Goroutines가 예약되는 방식은 각 릴리스마다 변경 될 수 있으며 플랫폼에 따라 다를 수 있습니다. 개념적 이해를 제공하지만 스케줄링 알고리즘에 대한 정확한 설명이 아닙니다.

시간을 호출 할 때는 스케줄러가 추가 스레드가 불필요하다고 결론을 내릴 수 있지만 Goroutines는 단지 고어 라틴이라는 결론을 내릴 수 있습니다. 대기 중. 결과적으로 스레드 활용도를 최적화합니다.

예제 간의 구별

sleaker는 가장 적은 수의 스레드를 생성합니다. 고어 라틴은 휴면 상태입니다. 대조적으로, 두 번째 예제는 디스크 I/O를 사용하는데, 이는 동시 파일을 처리하기 위해 추가 스레드가 필요합니다. 고의적 인 코드 조작을 통해 과도한 수의 커널 스레드를 만듭니다. 일반적인 생산 코드를 작성하는 개발자에게는 일반적인 관심사가 아닙니다. 그러나 비정상적으로 높은 스레드 수를 만나면 코드를 검사하고 근본적인 문제를 해결하는 것이 좋습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3