github.com/gogf/gf@v1.16.9/.example/os/grpool/grpool1.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "time" 6 7 "github.com/gogf/gf/os/grpool" 8 "github.com/gogf/gf/os/gtimer" 9 ) 10 11 func job() { 12 time.Sleep(1 * time.Second) 13 } 14 15 func main() { 16 pool := grpool.New(100) 17 for i := 0; i < 1000; i++ { 18 pool.Add(job) 19 } 20 fmt.Println("worker:", pool.Size()) 21 fmt.Println(" jobs:", pool.Jobs()) 22 gtimer.SetInterval(time.Second, func() { 23 fmt.Println("worker:", pool.Size()) 24 fmt.Println(" jobs:", pool.Jobs()) 25 fmt.Println() 26 gtimer.Exit() 27 }) 28 29 select {} 30 }