package utl import ( "os" "os/signal" "syscall" "testing" "time" ) func TestWorkPool_Put(t *testing.T) { p := NewWorkPool(16) num := 100 for num > 0 { p.Put(func(timer *time.Timer){ time.Sleep(0 * time.Second) t.Log("in func") }) num = num - 1 } sig := make(chan os.Signal) signal.Notify(sig, syscall.SIGINT) t.Log(<-sig) }