package event // //import ( // "fmt" // "sync" //) // //type SimplePool struct { // wg sync.WaitGroup // work chan func() //任务队列 //} // //func NewSimplePoll(workers int) *SimplePool { // p := &SimplePool{ // wg: sync.WaitGroup{}, // work: make(chan func()), // } // p.wg.Add(workers) // //根据指定的并发量去读取管道并执行 // for i := 0; i < workers; i++ { // go func() { // defer func() { // // 捕获异常 防止waitGroup阻塞 // if err := recover(); err != nil { // fmt.Println(err) // p.wg.Done() // } // }() // // 从workChannel中取出任务执行 // for fn := range p.work { // fn() // } // p.wg.Done() // }() // } // return p //} // //// 添加任务 //func (p *SimplePool) Add(fn func()) { // p.work <- fn //} // //// 执行 //func (p *SimplePool) Run() { // close(p.work) // p.wg.Wait() //}