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

Mericusta · · 2688 次点击
直接用了 HTTP 框架 gin,gin 的请求就是并发处理的,相当于 handler 已经运行在了某一个协程上,在此场景下,先去本地内存缓存获取数据,没有则去 redis 获取数据,为了减少 redis 的访问量,这里只放了一个 协程 去 redis 获取数据,其他协程等待 并发量大的情况下协程阻塞导致协程切换,可能会带来较多的性能损耗,从而延长某些请求的响应时间,所以想采用自旋锁来做不阻塞的等待 channel 不适用于此场景
#7
更多评论
为什么要自旋,一个channel就可以解决
#1
是的,多协程数据传递,Go已经给了你语言级别解决方案--channel
#2