mirror of
https://github.com/panjf2000/ants.git
synced 2025-12-18 11:21:02 +00:00
🙄 Improvement in periodicallyPurge
This commit is contained in:
parent
00294fd50b
commit
d6076c09aa
7
pool.go
7
pool.go
@ -69,13 +69,12 @@ func (p *Pool) periodicallyPurge() {
|
|||||||
defer heartbeat.Stop()
|
defer heartbeat.Stop()
|
||||||
|
|
||||||
for range heartbeat.C {
|
for range heartbeat.C {
|
||||||
|
if CLOSED == atomic.LoadInt32(&p.release) {
|
||||||
|
break
|
||||||
|
}
|
||||||
currentTime := time.Now()
|
currentTime := time.Now()
|
||||||
p.lock.Lock()
|
p.lock.Lock()
|
||||||
idleWorkers := p.workers
|
idleWorkers := p.workers
|
||||||
if CLOSED == atomic.LoadInt32(&p.release) {
|
|
||||||
p.lock.Unlock()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
n := -1
|
n := -1
|
||||||
for i, w := range idleWorkers {
|
for i, w := range idleWorkers {
|
||||||
if currentTime.Sub(w.recycleTime) <= p.expiryDuration {
|
if currentTime.Sub(w.recycleTime) <= p.expiryDuration {
|
||||||
|
|||||||
@ -72,13 +72,12 @@ func (p *PoolWithFunc) periodicallyPurge() {
|
|||||||
defer heartbeat.Stop()
|
defer heartbeat.Stop()
|
||||||
|
|
||||||
for range heartbeat.C {
|
for range heartbeat.C {
|
||||||
|
if CLOSED == atomic.LoadInt32(&p.release) {
|
||||||
|
break
|
||||||
|
}
|
||||||
currentTime := time.Now()
|
currentTime := time.Now()
|
||||||
p.lock.Lock()
|
p.lock.Lock()
|
||||||
idleWorkers := p.workers
|
idleWorkers := p.workers
|
||||||
if CLOSED == atomic.LoadInt32(&p.release) {
|
|
||||||
p.lock.Unlock()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
n := -1
|
n := -1
|
||||||
for i, w := range idleWorkers {
|
for i, w := range idleWorkers {
|
||||||
if currentTime.Sub(w.recycleTime) <= p.expiryDuration {
|
if currentTime.Sub(w.recycleTime) <= p.expiryDuration {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user