
一句话承诺:用图与代码实现一个“够用”的Worker Pool,附常见坑位说明。

package main
import (
"fmt"; "sync"; "time"
)
func main(){
jobs := make(chan int, 10)
var wg sync.WaitGroup
// 启动3个worker
for i:=0;i<3;i++{
wg.Add(1)
go func(id int){
defer wg.Done()
for j := range jobs {
fmt.Printf("worker %d processing %d\n", id, j)
time.Sleep(100 * time.Millisecond)
}
}(i)
}
// 生产任务
for j:=1;j<=10;j++{ jobs <- j }
close(jobs)
wg.Wait()
}Kubernetes 端口调试:kubectl port-forward 的三步核查(命令+图)。