Limit initial file loading
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
201b0d0879
commit
817a668aaf
|
@ -16,6 +16,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type HashFileResult struct {
|
type HashFileResult struct {
|
||||||
|
@ -265,6 +266,11 @@ func main() {
|
||||||
path := scanner.Text()
|
path := scanner.Text()
|
||||||
atomic.AddInt64(&entries, 1)
|
atomic.AddInt64(&entries, 1)
|
||||||
|
|
||||||
|
for atomic.LoadInt64(&taskCount) >= (int64(*taskLimit) + 1) {
|
||||||
|
runtime.Gosched()
|
||||||
|
time.Sleep(time.Millisecond * 20)
|
||||||
|
}
|
||||||
|
|
||||||
atomic.AddInt64(&taskCount, 1)
|
atomic.AddInt64(&taskCount, 1)
|
||||||
go func() {
|
go func() {
|
||||||
defer atomic.AddInt64(&taskCount, -1)
|
defer atomic.AddInt64(&taskCount, -1)
|
||||||
|
|
Loading…
Reference in a new issue