category
type
status
date
slug
summary
tags
password
Property
Jan 10, 2023 03:32 AM
icon
前言
Golang中的Mutex是不能复制的,因为每个Mutex中都有一个state字段记录当前的加锁情况,如果复制了Mutex后,其值不是从零值开始,容易引发异常。 Mutex,不支持可重入操作,这对想要在获取锁的goroutine中执行递归操作是非常不方便的,所以本文介绍了两种实现Golang可重入锁的方法。
根据goroutine id实现可重入锁
goid:是一个可以获取当前goroutine id的开源轮子
根据goroutine 生成token实现可重入锁
- 作者:axiszql
- 链接:https://axiszql.com/article/golang-mutex-recursive
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。