Update garray_z_unit_string_test.go

This commit is contained in:
jroam
2019-07-05 15:07:28 +08:00
parent 82394cd70e
commit 949ac459fc

View File

@ -645,13 +645,13 @@ func TestStringArray_RLockFunc(t *testing.T) {
a1 := garray.NewStringArrayFrom(s1)
ch1 := make(chan int64, 2)
go a1.RLockFunc(func(n1 []string) { //读锁
n1[2] = "g"
go a1.RLockFunc(func(a1 []string) { //读锁
a1[2] = "g"
time.Sleep(3 * time.Second) //暂停一秒
})
go func() {
time.Sleep(10 * time.Millisecond) //故意暂停0.01秒,等另一个goroutine执行锁后再开始执行.
time.Sleep(100 * time.Millisecond) //故意暂停0.01秒,等另一个goroutine执行锁后再开始执行.
ch1 <- gconv.Int64(time.Now().UnixNano() / 1000 / 1000)
a1.Len()
ch1 <- gconv.Int64(time.Now().UnixNano() / 1000 / 1000)
@ -661,7 +661,7 @@ func TestStringArray_RLockFunc(t *testing.T) {
t2 := <-ch1
// 由于另一个goroutine加的读锁其它可读,所以ch1的操作间隔是很小的.a.len 操作并没有等待,
// 防止ci抖动,以豪秒为单位
gtest.AssertLT(t2-t1, 2)
gtest.AssertLT(t2-t1, 20)
gtest.Assert(a1.Contains("g"), true)
})
}