go 互斥锁和自旋锁的性能对比的问题

Mericusta · · 2655 次点击
这个做法不敢苟同,如果读取redis的时间很长(事实上也是很慢,单次往返肯定在毫秒级别),并发量大的时候cpu空转的时间非常长。正确的做法绝对是先使用原子操作,判断当前是否有缓存,如果没有,使用channel等待,自旋锁100%会降低吞吐量
#9
更多评论
为什么要自旋,一个channel就可以解决
#1
是的,多协程数据传递,Go已经给了你语言级别解决方案--channel
#2