18 lines
309 B
Go
18 lines
309 B
Go
package sync
|
|
|
|
import "sync"
|
|
|
|
var waitGroupPool = sync.Pool{
|
|
New: func() interface{} {
|
|
return new(sync.WaitGroup)
|
|
},
|
|
}
|
|
|
|
func AcquireWaitGroup() *sync.WaitGroup {
|
|
return waitGroupPool.Get().(*sync.WaitGroup) // nolint:forcetypeassert
|
|
}
|
|
|
|
func ReleaseWaitGroup(wg *sync.WaitGroup) {
|
|
waitGroupPool.Put(wg)
|
|
}
|