Go 语言的分布式读写互斥
2015-05-06 17:51
316 查看
Go语言默认的sync.RWMutex实现在多核环境中表现并不佳,因为所有的读者在进行原子增量操作时,会抢占相同的内存地址。该文探讨了一种n-way RWMutex,也可以称为“大读者(big reader)”锁,它可以为每个CPU内核分配独立的RWMutex。读者仅需在其核心中处理读锁,而写者则须依次处理所有锁。 读者使用CPUID指令来决定使用何种锁,该指令仅需返回当前活动CPU的APICID,而不需要发出系统调用指令抑或改变运行时。这在Intel或AMD处理器上均是可以的;ARM处理器则需要使用CPU |
本文标题:Go语言的分布式读写互斥
本文地址:http://www.oschina.net/translate/distributed-read-write-
mutex-in-go
参与翻译:BuN_Ny , OSC技术周刊 , eason02
英文原文:Distributed Read-Write Mutex in Go
时间: 2015-05-06 08:40 来源 :开源中国社区 作者 :oschina 原文链接
相关文章推荐