From e5249a1d2c507ac51689214680c00fcd1b3ab2ef Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 08 八月 2019 20:46:11 +0800 Subject: [PATCH] 测试多线程 --- main.go | 40 ++++++++++++++++++++++++---------------- 1 files changed, 24 insertions(+), 16 deletions(-) diff --git a/main.go b/main.go index e0294ae..8ec5686 100644 --- a/main.go +++ b/main.go @@ -57,33 +57,41 @@ var msg []byte var err error - + msgChan := make(chan []byte,100) for { select { // case <-ctx.Done(): // return default: msg, err = c.Recv() + msgChan <- msg if err != nil { logger.Info("recv error : ", err) fmt.Println("recv error : ", err) continue } else { - arg := ruleserver.SdkDatas{} - //paramFormat(msg, &arg) - logger.Error() - start := time.Now() - m := paramFormat(msg, &arg) - // 杩涜瑙勫垯澶勭悊鍒ゆ柇(鎵撲笂瑙勫垯鐨勬爣绛�) - ruleserver.Judge(&arg,&m) // 鎶妔dkMessage浼犺繘鍘伙紝鏂逛究缂撳瓨鏁版嵁鏃舵嫾鍑轰竴涓猺esultMag - // 鎶奱rg閲岀殑鎵撶殑鏍囩鎷垮嚭鏉ョ粰m鍐嶅皝瑁呬竴灞� - resultMsg := ruleserver.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult} - logger.Debug("姣斿瀹屾墍鐢ㄦ椂闂达細",time.Since(start)) - // 灏嗘墦瀹屾爣绛剧殑鏁版嵁鎻掑叆鍒癊S - insertdata.InsertToEs(resultMsg) - logger.Debug("鎻掑叆瀹孍s鎵�鐢ㄦ椂闂达細",time.Since(start)) - //浜嬩欢鎺ㄩ�� - //go labelFilter.Judge(resultMsg) + wg := sync.WaitGroup{} + for msg := range msgChan { + wg.Add(1) + go func() { + logger.Debug("褰撳墠鏃堕棿鎴筹細",time.Now().Unix()) + arg := ruleserver.SdkDatas{} + //paramFormat(msg, &arg) + start := time.Now() + m := paramFormat(msg, &arg) + // 杩涜瑙勫垯澶勭悊鍒ゆ柇(鎵撲笂瑙勫垯鐨勬爣绛�) + ruleserver.Judge(&arg,&m) // 鎶妔dkMessage浼犺繘鍘伙紝鏂逛究缂撳瓨鏁版嵁鏃舵嫾鍑轰竴涓猺esultMag + // 鎶奱rg閲岀殑鎵撶殑鏍囩鎷垮嚭鏉ョ粰m鍐嶅皝瑁呬竴灞� + resultMsg := ruleserver.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult} + logger.Debug("瑙勫垯鍒ゆ柇瀹屾墍鐢ㄦ椂闂达細",time.Since(start)) + // 灏嗘墦瀹屾爣绛剧殑鏁版嵁鎻掑叆鍒癊S + insertdata.InsertToEs(resultMsg) + logger.Debug("鎻掑叆瀹孍s鎵�鐢ㄦ椂闂达細",time.Since(start)) + //浜嬩欢鎺ㄩ�� + //go labelFilter.Judge(resultMsg) + wg.Done() + }() + } } } } -- Gitblit v1.8.0