mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-27 11:31:06 +01:00
refactor(concurrency): replaced manual WaitGroup management with new wg.Go() and removed redundant code.
This commit is contained in:
@@ -62,15 +62,13 @@ func (m Map[KT, VT]) RangeAllParallel(do func(k KT, v VT)) {
|
||||
}
|
||||
|
||||
var wg sync.WaitGroup
|
||||
|
||||
m.Range(func(k KT, v VT) bool {
|
||||
for k, v := range m.Range {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
go func(k KT, v VT) {
|
||||
defer wg.Done()
|
||||
do(k, v)
|
||||
wg.Done()
|
||||
}()
|
||||
return true
|
||||
})
|
||||
}(k, v)
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package functional
|
||||
|
||||
import (
|
||||
"sync"
|
||||
|
||||
"github.com/puzpuzpuz/xsync/v4"
|
||||
)
|
||||
|
||||
@@ -44,20 +42,6 @@ func (set Set[T]) RangeAll(f func(T)) {
|
||||
})
|
||||
}
|
||||
|
||||
func (set Set[T]) RangeAllParallel(f func(T)) {
|
||||
var wg sync.WaitGroup
|
||||
|
||||
set.Range(func(k T) bool {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
f(k)
|
||||
wg.Done()
|
||||
}()
|
||||
return true
|
||||
})
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func (set Set[T]) Size() int {
|
||||
return set.m.Size()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user