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("处理业务完毕")
}
相关推荐
啊唯不困17 分钟前
AI智能应用开发(Java)起点-终点 -1、java的前世今生andJava环境配置、jdk下载,以及Idea下载和基本应用
java·开发语言·intellij-idea
_muffinman19 分钟前
Java学习笔记-第2章 运算和语句
java·笔记·学习
荒夜长歌21 分钟前
传统java行业跳槽面试汇总(后续会更新)
java·面试·跳槽
旷世奇才李先生21 分钟前
065智慧农业专家远程指导系统-springboot+vue
java·vue.js·spring boot
大迪deblog22 分钟前
系统架构设计-软件架构风格
java·开发语言·架构·软件构建
盐水冰22 分钟前
【烘焙坊项目】后端搭建(10) - 地址簿功能&用户下单&微信支付
java·数据库·后端
重庆小透明25 分钟前
【面试问题】java小厂
java·开发语言·面试
xindon1240 分钟前
如何集成单点登录和设计子系统的权限管理三
java
zuoerjinshu1 小时前
【SpringBoot】讲清楚日志文件&&lombok
java·spring boot·后端
生产队队长1 小时前
SpringBoot3:ApplicationAvailability监控应用程序可用性状态[官方文档]
java·spring·mybatis