什么是WaitGroups?下面本篇文章就來(lái)帶大家了解一下go語(yǔ)言中WaitGroups,介紹一下使用WaitGroups的方法,希望對(duì)大家有所幫助!
什么是WaitGroups?
WaitGroups
是同步你的goroutines的一種有效方式。想象一下,你和你的家人一起駕車(chē)旅行。你的父親在一個(gè)條形商場(chǎng)或快餐店停下來(lái),買(mǎi)些食物和上廁所。你最好想等大家回來(lái)后再開(kāi)車(chē)去地平線。WaitGroups
幫助你做到這一點(diǎn)。
WaitGroups
是通過(guò)調(diào)用標(biāo)準(zhǔn)庫(kù)中的sync
包來(lái)定義的。
var wg sync.WaitGroup
登錄后復(fù)制
那么,什么是WaitGroup
呢?WaitGroup
是一個(gè)結(jié)構(gòu),它包含了程序需要等待多少個(gè)goroutine
的某些信息。它是一個(gè)包含你需要等待的goroutines
數(shù)量的組。
WaitGroups有三個(gè)最重要的方法: Add
, Done
和 Wait
。
- Add: 添加到你需要等待的goroutines的總量上。
- Done: 從你需要等待的goroutines總數(shù)中減去一個(gè)。
- Wait: 阻止代碼繼續(xù)進(jìn)行,直到?jīng)]有