这是一个续篇:Golang: Shared communication in async http server
假设我有一个带锁的哈希表:
//create async hashmap for inter request communication
type state struct {
*sync.Mutex // inherits locking methods
AsyncResponses map[string]string // map ids to values
}
var State = &state{&sync.Mutex{}, map[string]string{}}
写入这个哈希表的函数会放置一个锁。我的问题是,什么是检查值而不阻塞哈希表写入的另一个函数的最佳/最快方法?我想知道在哈希表上出现值的瞬间。
MyVal = State.AsyncResponses[MyId]