package starmap import ( "fmt" "math/rand" "testing" "time" ) type Miaomiao struct { Val1 string Val2 int Val3 bool } func Test_Remote(t *testing.T) { Store("test", 22222) server, _ := NewServer("tcp", "127.0.0.1:45678") server.Register(&Miaomiao{}) client, _ := NewClient("tcp", "127.0.0.1:45678", time.Second*2) _ = server fmt.Println(client.Get("meow")) fmt.Println(client.Exists("meow")) fmt.Println(client.Store("meow", Miaomiao{"sss", 222, true})) fmt.Println(client.Get("meow")) fmt.Println(client.Exists("meow")) fmt.Println(client.Delete("meow")) fmt.Println(client.Exists("meow")) } func (cat *Miaomiao) GetName() string { return "meow" } func Test_Math(t *testing.T) { wg := NewWaitGroup(5000) rand.Seed(time.Now().UnixNano()) waitfn := func(wg *WaitGroup, num int) { defer wg.Done() fmt.Println(num) time.Sleep(time.Second * time.Duration(2+rand.Intn(3))) } for i := 0; i <= 3214670; i++ { wg.Add(1) if i == 34567 { wg.SetMaxWaitNum(50000) } if i == 123456 { wg.SetMaxWaitNum(210456) } if i == 323456 { wg.SetMaxWaitNum(2104562) } go waitfn(&wg, i) } fmt.Println("Waiting~~~~~~~~~~") wg.Wait() fmt.Println(wg.allCount) }