如何在 Golang 中的多个变量上应用单独的互斥锁?

我有多个变量,我想使用这种方法使它们互斥


type var1WithMutex struct {

    mu       sync.Mutex

    var1     int

}

func (v *var1) Set(value int) {

    v.mu.Lock()

    v.var1 = value

    v.mu.Unlock()

}

func (v *var1) Get() (value int) {

    v.mu.Lock()

    value = v.var1

    v.mu.Unlock()

    return

}

同样,有数百个变量,如 var1、var2、var3.... var100

如何在不重复此代码的情况下使它们互斥?

请注意,var1、var2、var3 等不是数组的一部分,彼此之间没有任何关系。var2 可能是 int 而 var3 可能是 User{}


偶然的你
浏览 296回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go