From 88b1f1d1d14a8fe9e3dde2f363a89d821fc0e641 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 26 九月 2024 20:19:49 +0800
Subject: [PATCH] code format

---
 cache/shardmap/shardmap.go |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/cache/shardmap/shardmap.go b/cache/shardmap/shardmap.go
index daf5f85..9d434d9 100644
--- a/cache/shardmap/shardmap.go
+++ b/cache/shardmap/shardmap.go
@@ -93,23 +93,27 @@
 func (s *ShardMap) Walk(wf wfOp, sourceFea []float32, baseScore float32) (targets []*protomsg.SdkCompareEach) {
 	var wg sync.WaitGroup
 	var lock sync.Mutex
-	for _, si := range s.shards {
-		var tempsi shardItem = *si
 
+	for _, si := range s.shards {
+		var tempsi *shardItem = si // 淇濇寔瀵瑰師濮� shardItem 鐨勬寚閽堝紩鐢�
+
+		// 璺宠繃绌哄垎鐗�
 		if len(tempsi.data) == 0 {
 			continue
 		}
 
 		wg.Add(1)
-
 		go func(st *shardItem, fn wfOp, srcFeat []float32, baseSec float32) {
 			defer wg.Done()
+			st.RLock()         // 閿佸畾璇诲彇
+			defer st.RUnlock() // 纭繚璇诲彇瀹屾瘯鍚庤В閿�
+
 			for _, feature := range st.data {
+				// 璇诲彇鎿嶄綔鍦ㄩ攣鍐呰繘琛岋紝闃叉骞跺彂鍐茬獊
 				if item, ok := feature.(*db.FeatureCacheBase); ok {
-					score := float32(0)
-					score = fn(srcFeat, item.FaceFeature)
+					score := fn(srcFeat, item.FaceFeature)
 					if score > 0 && score >= baseScore {
-						lock.Lock()
+						lock.Lock() // 淇濇姢鐩爣鍒囩墖鐨勫啓鍏�
 						targets = append(targets, &protomsg.SdkCompareEach{
 							Id:           item.Id,
 							CompareScore: score,
@@ -119,13 +123,11 @@
 					}
 				}
 			}
-
-		}(&tempsi, wf, sourceFea, baseScore)
+		}(tempsi, wf, sourceFea, baseScore)
 	}
 
 	wg.Wait()
 	return targets
-
 }
 
 // print all

--
Gitblit v1.8.0