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

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

王林
王林앞으로
2024-02-05 22:57:191002검색

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

질문 내용

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

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

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

으아악

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


정답


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

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

으아악

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

으아악

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

으아악

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

으아악

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

으아악

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

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제