"使用的 gcache 和 gorm 都是 Goroutine Safe 的,为什么写要加锁呢?"

为什么 pipe 的 service 要使用 mutex 加锁

使用的 gcache 和 gorm 都是 Goroutine Safe 的,为什么写要加锁呢?

感谢    关注    收藏    赞同    反对    举报    分享
被采纳的回答
  • 88250  

    1. 有一些数据加减操作,不同数据库事务隔离可能不同,加锁可以避免潜在问题
    2. 加锁是在性能需求允许情况下最简单的做法
    3. 没有多进程集群的需求,所以进程内存锁是最简单的实现

    大概就是这样考虑的,主要原因就是怕出错而做的最简化处理。

1 回帖    
请输入回帖内容...
  • 88250      

    1. 有一些数据加减操作,不同数据库事务隔离可能不同,加锁可以避免潜在问题
    2. 加锁是在性能需求允许情况下最简单的做法
    3. 没有多进程集群的需求,所以进程内存锁是最简单的实现

    大概就是这样考虑的,主要原因就是怕出错而做的最简化处理。

       感谢    赞同    反对    举报    折叠    分享    评论    回复