Threadsafe - 读取映射键/值与读取 Golang 中的对象属性

问题描述 投票:0回答:1

关于同时从映射中读取值 - 为什么它比从对象中读取属性或多或少是线程安全的*?

*我所说的线程安全是指跨 goroutine。

var x struct{}{}

go func(){
    if v, ok := x.(foo); ok {
      // read from v
    }
}()

go func(){
    if v, ok := x.(bar); ok {
      // read from v
    }
}()
go concurrency goroutine
1个回答
0
投票

同时从映射或结构成员或任何值读取值始终是线程安全的。如果您与其他写入或读取操作同时执行写入操作,则必须确保互斥,否则将会出现日期竞争。

© www.soinside.com 2019 - 2024. All rights reserved.