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("处理业务完毕")
}
相关推荐
༄天M宇ༀ12 小时前
E10: e-builder 低代码构建平台接口管理(E9建模版)
java·前端·spring·servlet·reactjs
蜜獾云12 小时前
java 异步编程
java·开发语言
xin^_^12 小时前
java基础学习
java·开发语言·python
yttandb12 小时前
数据库的设计
java·数据库
zhouping@12 小时前
JAVA的学习笔记day05
java·笔记·学习
luckyzlb12 小时前
02-kafka(01润色版)
java·中间件·kafka
ByNotD0g12 小时前
Tomcat中的回显问题
java·tomcat
云澜哥哥12 小时前
MyBatis 实战指南:特殊符号处理与高效批量操作
java·jvm·mybatis
CRMEB12 小时前
电商项目中订单流程可以使用哪些设计模式?如何开发?
java·设计模式·gitee·开源·php·crmeb
CNAHYZ12 小时前
Apache HttpClient 配置 SSL 证书指南
java·spring boot·http