猿问

可以在锁定之前推迟解锁吗

我正在查看一些现有的代码,并看到重复了几次

defer mtx.Unlock()
mtx.Lock()

这对我来说似乎是错误的,我更喜欢惯用的方式来推迟执行Unlock之后的时间,Lock但是该文档Mutex.Lock没有指定Lock将失败的情况。因此,早期defer模式的行为应与惯用方式相同。

我的问题是:是否有令人信服的案例说这种模式不如?(例如,Lock可能会失败,然后推迟Unlockpanic),因此代码应该改变还是应该保留原样?


慕盖茨4494581
浏览 227回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答