You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.2 KiB

package starmap
import (
"fmt"
"math/rand"
"testing"
"time"
)
type Miaomiao struct {
Sakura string
Fuck int
Mimi bool
}
func Test_Remote(t *testing.T) {
Store("nmb", 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("maio"))
fmt.Println(client.Exists("maio"))
fmt.Println(client.Store("maio", Miaomiao{"sss", 222, true}))
fmt.Println(client.Get("maio"))
fmt.Println(client.Exists("maio"))
fmt.Println(client.Delete("maio"))
fmt.Println(client.Exists("maio"))
}
func (cat *Miaomiao) GetName() string {
return "miaomiao"
}
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)
}