fix: data race when go func() in for loop

This commit is contained in:
Ying Zou 2018-04-04 14:30:05 +08:00
parent a3647f8e31
commit 386f0be94b
2 changed files with 4 additions and 5 deletions

View File

@ -1563,9 +1563,10 @@ func benchmarkCacheGetManyConcurrent(b *testing.B, exp time.Duration) {
wg := new(sync.WaitGroup)
wg.Add(n)
for _, v := range keys {
k := v
go func() {
for j := 0; j < each; j++ {
tc.Get(v)
tc.Get(k)
}
wg.Done()
}()

View File

@ -7,9 +7,6 @@ import (
"time"
)
// func TestDjb33(t *testing.T) {
// }
var shardedKeys = []string{
"f",
"fo",
@ -73,9 +70,10 @@ func benchmarkShardedCacheGetManyConcurrent(b *testing.B, exp time.Duration) {
wg := new(sync.WaitGroup)
wg.Add(n)
for _, v := range keys {
k := v
go func() {
for j := 0; j < each; j++ {
tsc.Get(v)
tsc.Get(k)
}
wg.Done()
}()