golang 锁bug 记录

例如 会先获取了读锁,协程里面有个写锁,如果整体还嵌套了读锁,直接出现死锁了 ,卡在all_lock_test.RLock() ,读锁永远也不能释放了

go 复制代码
package routes

import (
	"fmt"
	"sync"
	"testing"
	"time"
)

var all_lock_test sync.RWMutex

func TestSendGiftInfo_SendBlind(t *testing.T) {
	if !all_lock_test.TryRLock() {
		return
	}
	defer all_lock_test.RUnlock()

	go func() {
		all_lock_test.Lock()
		defer all_lock_test.Unlock()
		fmt.Println("配置更新")
	}()
	time.Sleep(time.Second)
	rDeal()

}

func rDeal() {
	all_lock_test.RLock()
	defer all_lock_test.RUnlock()
	fmt.Println("处理业务完毕")
}
相关推荐
后端AI实验室9 小时前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术11 小时前
Java 实现企业微信扫码登录
java·企业微信
狂奔小菜鸡11 小时前
Day41 | Java中的锁分类
java·后端·java ee
hooknum12 小时前
学习记录:基于JWT简单实现登录认证功能-demo
java
程序员Terry12 小时前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
NE_STOP12 小时前
MyBatis-缓存与注解式开发
java
码路飞12 小时前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero13 小时前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing13 小时前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员
磊磊落落14 小时前
如何将 Spring Statemachine 作为一个轻量级工作流引擎来使用?
java