Skip to content

Commit 2a6f733

Browse files
committed
optimize work pool wait function
1 parent 135e60d commit 2a6f733

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

workpool/workpool.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,17 @@ func (p *WorkPool) DoWait(task TaskHandler) {
7272
// Wait Waiting for the worker thread to finish executing
7373
func (p *WorkPool) Wait() error {
7474
p.waitingQueue.Wait()
75+
p.waitingQueue.Close()
7576
p.waitTask() // wait que down
7677
close(p.task)
7778
p.wg.Wait() // wait all task finished
7879
select {
7980
case err := <-p.errChan:
81+
p.waitingQueue = queue.New()
8082
p.task = make(chan TaskHandler, p.workerNum*2)
8183
return err
8284
default:
85+
p.waitingQueue = queue.New()
8386
p.task = make(chan TaskHandler, p.workerNum*2)
8487
return nil
8588
}

0 commit comments

Comments
 (0)