마지막에 잠을 자지 않으면 왜 출력을 볼 수 없나요?
Feb 06, 2024 am 11:21 AM다음 코드는 연결된 목록의 요소를 교대로 인쇄하기 위해 두 개의 고루틴을 사용하는 방법을 구현합니다. 그러나 최종 시간이 없으면 인쇄된 결과가 보이지 않는 다소 이상한 문제가 발생합니다. 잠. 이론적으로 stdout에는 버퍼가 없습니다. 누구든지 지침을 제공할 수 있습니까?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
정답
기본 고루틴에서 wg.Add(1)
를 호출해야 합니다. 대기 그룹 카운터는 main()
전에 시작된 2개의 고루틴이 도착하기 전에 증가하기 때문입니다. wg.Wait()
는 유효한 시나리오입니다. 카운터가 0이면 wg.Wait()
가 차단되지 않고 main()
이 반환되므로 전체 애플리케이션이 종료됩니다. wg.Add(1)
,因为在 2 个启动的 Goroutine 增加 waitgroup 计数器之前 main()
到达 wg.Wait()
是一个有效的场景。如果其计数器为 0,则 wg.Wait()
不会阻塞,main()
返回,因此整个应用程序终止:
1 2 3 4 |
|
(当然,从工作人员中删除 wg.Add(1)
rrreee
에서 wg.Add(1)
를 제거하세요. wg.Add()를 배치할 위치
위 내용은 마지막에 잠을 자지 않으면 왜 출력을 볼 수 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











2009-2025년 탄생 이후 비트코인 가격 BTC 역사적 가격에 대한 가장 완벽한 요약

Windows 11 오른쪽 하단에서 시간이 지나갔을 경우 대처법_Windows 11 오른쪽 하단에서 시간이 지났을 경우 대처 방법

질문하고 토론할 수 있는 Java 기능에 대한 커뮤니티 포럼이나 토론 그룹이 있습니까?

내 win11 컴퓨터의 시간이 항상 틀리면 어떻게 해야 합니까? Windows 11 컴퓨터에서 잘못된 시간을 조정하는 방법

Douyin의 임의 계정을 관리하는 사람은 없나요? 두 번째로 항소할 수 있나요?
