我正在查看一些现有的代码,并看到重复了几次
defer mtx.Unlock() mtx.Lock()
这对我来说似乎是错误的,我更喜欢惯用的方式来推迟执行Unlock之后的时间,Lock但是该文档Mutex.Lock没有指定Lock将失败的情况。因此,早期defer模式的行为应与惯用方式相同。
Unlock
Lock
Mutex.Lock
defer
我的问题是:是否有令人信服的案例说这种模式不如?(例如,Lock可能会失败,然后推迟Unlock会panic),因此代码应该改变还是应该保留原样?
panic
相关分类