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  }