Commit 3ac9f982 authored by AlexStocks's avatar AlexStocks

Mod: add remark for simple task pool

parent 522be9af
...@@ -226,8 +226,8 @@ func (p *TaskPool) Close() { ...@@ -226,8 +226,8 @@ func (p *TaskPool) Close() {
// Task Pool Simple // Task Pool Simple
///////////////////////////////////////// /////////////////////////////////////////
type taskPoolSimple struct { type taskPoolSimple struct {
work chan task work chan task // task channel
sem chan struct{} sem chan struct{} // gr pool size
wg sync.WaitGroup wg sync.WaitGroup
...@@ -274,15 +274,19 @@ func (p *taskPoolSimple) AddTaskAlways(t task) { ...@@ -274,15 +274,19 @@ func (p *taskPoolSimple) AddTaskAlways(t task) {
select { select {
case p.work <- t: case p.work <- t:
// exec @t in gr pool
return return
default: default:
} }
select { select {
case p.work <- t: case p.work <- t:
// exec @t in gr pool
case p.sem <- struct{}{}: case p.sem <- struct{}{}:
// add a gr to the gr pool
p.wg.Add(1) p.wg.Add(1)
go p.worker(t) go p.worker(t)
default: default:
// gen a gr temporarily
goSafely(t) goSafely(t)
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment