mirror of
https://github.com/wahyd4/node-prune.git
synced 2026-08-09 05:06:18 +10:00
refactor with startN()
This commit is contained in:
@@ -136,10 +136,7 @@ func WithFiles(s []string) Option {
|
||||
func (p *Pruner) Prune() (*Stats, error) {
|
||||
var stats Stats
|
||||
|
||||
for i := 0; i < runtime.NumCPU(); i++ {
|
||||
p.wg.Add(1)
|
||||
go p.start()
|
||||
}
|
||||
p.startN(runtime.NumCPU())
|
||||
defer p.stop()
|
||||
|
||||
err := filepath.Walk(p.dir, func(path string, info os.FileInfo, err error) error {
|
||||
@@ -218,6 +215,14 @@ func (p *Pruner) prune(path string, info os.FileInfo) bool {
|
||||
return ok
|
||||
}
|
||||
|
||||
// startN starts n loops.
|
||||
func (p *Pruner) startN(n int) {
|
||||
for i := 0; i < n; i++ {
|
||||
p.wg.Add(1)
|
||||
go p.start()
|
||||
}
|
||||
}
|
||||
|
||||
// start loop.
|
||||
func (p *Pruner) start() {
|
||||
defer p.wg.Done()
|
||||
|
||||
Reference in New Issue
Block a user