go语言中的排他锁怎么使用
时间: 2024-05-05 11:19:25 浏览: 124
在 Go 语言中,可以通过 sync 包下的 Mutex 类型来实现排他锁。Mutex 类型包含 Lock 和 Unlock 方法,分别用于获取和释放锁。
示例代码如下:
```go
package main
import (
"sync"
)
func main() {
var mutex sync.Mutex
// 获取锁
mutex.Lock()
defer mutex.Unlock() // 函数返回时释放锁
// 进行需要保护的操作
}
```
在需要保护的操作中,可以自由地使用共享变量。在获取锁后其他 goroutine 将会被阻塞,直到该 goroutine 释放锁。
需要注意的是,锁的使用必须要谨慎,过度使用锁可能会导致性能问题和死锁等问题。
阅读全文