go get github.com/Xiaoxusheng/pool
package main
import (
"context"
"log"
"github.com/Xiaoxusheng/pool/queue"
)
func main() {
pool := queue.NewPool(20, 10)
ctx := context.Background()
for i := 0; i < 300; i++ {
i = i
err := pool.Submit(ctx, func(v ...interface{}) {
log.Println(i)
})
if err != nil {
log.Println(err)
return
}
}
pool.Wait()
}