10 Star 31 Fork 5

夏午茶 / sago

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
SPool.go 2.17 KB
一键复制 编辑 原始数据 按行查看 历史
gjy 提交于 2019-08-28 15:31 . 重构全局变量
package pipe
//
//import (
// "gitee.com/xiawucha365/sago/internal/logger"
// utils "gitee.com/xiawucha365/sago/internal/tool"
// "sync"
// "time"
//)
//
/////共享协程池
//type SPool struct {
// work chan WorkerInterface
// wg sync.WaitGroup
// Counter int
// mutex sync.Mutex
// TimeStart int64
//}
//
//// 协程池
//func NewSPool(maxGoroutines int) *SPool {
// p := SPool{
// work: make(chan WorkerInterface),
// }
// //任务开始时间记录
// p.TimeStart = time.Now().Unix()
//
// p.wg.Add(maxGoroutines)
//
// for i := 0; i < maxGoroutines; i++ {
// //协程池
// go func() {
//
// for w := range p.work {
// //消费 并 执行job里的任务
// if err := w.Task(); err != nil {
// logger.Error("task error", err)
// } else {
// //计数器
// p.Count()
//
// ttime := utils.MathDecimal(float64(time.Now().Unix() - p.TimeStart))
// trange := utils.MathDecimal(float64(p.Counter) / ttime)
// logger.Info("runtime:总数(", p.Counter, ")", "消耗时间:(", ttime, "s)", "平均:(", trange, "次/s)")
// }
// }
//
// defer p.wg.Done()
//
// }()
// }
//
// return &p
//}
//
//// 提交任务
//func (p *SPool) Commit(w WorkerInterface) {
// p.work <- w
//}
//
//// 等待组 关闭channel
//func (p *SPool) Shutdown() {
// close(p.work)
// p.wg.Wait()
//
//}
//
////计数器
//func (p *SPool) Count() {
// p.mutex.Lock()
// //runtime.Gosched()
// p.Counter++
// p.mutex.Unlock()
//
//}
//
////
//////共享固定goroutine 例子
////var woker_queues = []string{"001","002","003","004","005","006","007"}
////type worker2 struct {
//// name string
////}
////
//////业务代码
////func(m *worker2) Task() error {
////
//// // 收尾工作 容灾
//// defer func(){
//// if err:= recover();err!=nil{
//// fmt.Println(err)
//// }
//// }()
////
//// fmt.Println("job:"+m.name+" start")
//// time.Sleep(time.Second*3)
//// fmt.Println("job:"+m.name+" end")
////
//// return nil
////}
////func main() {
//// //创建并发池
//// p := pipe.NewSPool(4)
////
//// for _,name := range woker_queues{
//// np := worker2{name:name,}
//// //提交任务
//// p.Commit(&np)
//// }
////
//// //等待组 关闭channel
//// p.Shutdown()
////
////}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xiawucha365/sago.git
git@gitee.com:xiawucha365/sago.git
xiawucha365
sago
sago
v1.1.0

搜索帮助

344bd9b3 5694891 D2dac590 5694891