optimization for default pool

This commit is contained in:
Andy Pan 2018-08-04 09:29:53 +08:00
parent 020959a1d5
commit 9af581c867
1 changed files with 20 additions and 7 deletions

27
ants.go
View File

@ -36,7 +36,26 @@ const (
) )
// Init a instance pool when importing ants // Init a instance pool when importing ants
var defaultAntsPool, _ = NewPool(DefaultAntsPoolSize) var (
defaultAntsPool *Pool
err error
)
func init() {
defaultAntsPool, err = NewPool(DefaultAntsPoolSize)
if err != nil {
panic(err)
}
}
// Release Closed the default pool
func Release() {
defaultAntsPool.Release()
defaultAntsPool, err = NewPool(DefaultAntsPoolSize)
if err != nil {
panic(err)
}
}
// Submit submit a task to pool // Submit submit a task to pool
func Submit(task f) error { func Submit(task f) error {
@ -58,12 +77,6 @@ func Free() int {
return defaultAntsPool.Free() return defaultAntsPool.Free()
} }
// Release Closed the default pool
func Release() {
defaultAntsPool.Release()
}
// Errors for the Ants API // Errors for the Ants API
var ( var (
ErrInvalidPoolSize = errors.New("invalid size for pool") ErrInvalidPoolSize = errors.New("invalid size for pool")