1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package jconcurrency
- import (
- "log"
- "testing"
- "time"
- //"github.com/orcaman/concurrent-map/v2"
- )
- func Test_map(t *testing.T) {
- //创建map[any]any
- jm := NewJM()
- //并发安全放值
- jm.Set("a", 1)
- jm.Set(1, 3)
- //判断值是否存在
- log.Println("key 1 :", jm.Has(1))
- //删除值
- jm.Del(1)
- log.Println("key 1 :", jm.Has(1))
- //如果不存在则放入
- jm.SetIfNoExists("a", 5)
- jm.SetIfNoExists("b", 6)
- //获取并删除
- log.Println(jm.GetAndDel("b"))
- log.Println(jm)
- }
- func Test_map2(t *testing.T) {
- jm := NewJM()
- for i := 0; i < 100000; i++ {
- jm.Set(i, i)
- }
- for i := 0; i < 2; i++ {
- go jm.Iter(func(k, v any) bool {
- if k == i {
- //暂停
- return false
- }
- return true
- })
- }
- time.Sleep(1 * time.Second)
- log.Println(jm.Len())
- }
|