golang开源的协程池项目:github.com/gammazero/workerpool

下面是一段使用 demo


package main

import (
   "fmt"
   "github.com/gammazero/workerpool"
   "time"
)

func main() {
   wp := workerpool.New(2)
   requests := []string{"alpha", "beta", "gamma", "delta", "epsilon"}

   for _, r := range requests {
      //r := r
      wp.Submit(func() {
         time.Sleep(time.Second * 2)
         fmt.Println("Handling request:", r)
      })
   }

   wp.StopWait()