> 백엔드 개발 > Golang > WaitGroup을 순차 함수 호출에 전달하는 방법은 무엇입니까?

WaitGroup을 순차 함수 호출에 전달하는 방법은 무엇입니까?

王林
풀어 주다: 2024-02-05 22:57:19
앞으로
1059명이 탐색했습니다.

如何将 WaitGroup 传递给顺序函数调用?

질문 내용

별도의 고루틴에서 순차적으로 또는 동시에 호출할 수 있는 함수가 있습니다.

메인 고루틴이 완료되기 전에 함수가 완전히 실행되는지 확인하고 싶어서 *sync.waitgroup 인수를 함수에 전달했습니다. 이제 어떤 곳에서는 함수가 순차적으로 호출됩니다.

다음과 같이 함수에 nil waitgroup을 전달할 수 있습니다.

으아악

이 목표를 달성하는 더 좋은 방법이 있나요?


정답


당신의 것 my_func() 不应该知道/不应该关心它是如何执行的(无论是否在新的 goroutine 中)。因此,为此您不应该传递 wg. API의 동시 사용 또는 비동시 사용을 강요하지 말고 패키지 사용자가 API 호출 방법을 결정하도록 하세요.

누군가가 새로운 고루틴에서 동시에 실행하고 싶다면 다음과 같이 my_func()外部处理 my_func()에서 수행할 수 있습니다.

으아악

또한 wg.done() 호출 전에 실행될 함수 호출 전후에 더 많은 코드를 배치할 수 있습니다.

으아악

또한 이 기능이 여러 곳에 있는 경우 고루틴 시작 및 대기 그룹 처리를 관리하는 도우미 함수를 만들 수 있습니다.

으아악

매개변수가 없고 반환되지 않는 함수를 허용하는 도우미를 만들 수도 있습니다.

으아악

위의 도우미를 사용하여 다음을 수행할 수 있습니다.

으아악

위 내용은 WaitGroup을 순차 함수 호출에 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿