func (p *List) Reload(c *Config) error {
	p.mu.Lock()
	p.startCleanerLocked(time.Duration(c.IdleTimeout))
	p.conf = c
	p.mu.Unlock()
	return nil
}
Reload reload config.
package pool
import (
	"container/list"
	"context"
	"io"
	"sync"
	"time"
)
var _ Pool = &List{}
type List struct {
	New func(ctx context.Context) (io.Closer, error)
	mu     sync.Mutex
	cond   chan struct{}
	closed bool
	active int
	cleanerCh chan struct{}
	idles list.List
	conf *Config
}
func NewList(c *Config) *List {
	if c == nil || c.Active < c.Idle {
		panic("config nil or Idle Must <= Active")
	}
	p := &List{conf: c}
	p.cond = make(chan struct{})
	p.startCleanerLocked(time.Duration(c.IdleTimeout))
	return p
}