我搜索了 Bash 如何创建互斥锁。我遇到了两种在 Bash 中创建互斥锁的不同方法。两者都是 stackoverflow 答案,并且都有 >100 的赞成票:一个答案使用mkdir
,另一个答案使用flock
.
在 bash 中创建互斥锁时,我应该使用flock
ormkdir
吗?
我搜索了 Bash 如何创建互斥锁。我遇到了两种在 Bash 中创建互斥锁的不同方法。两者都是 stackoverflow 答案,并且都有 >100 的赞成票:一个答案使用mkdir
,另一个答案使用flock
.
在 bash 中创建互斥锁时,我应该使用flock
ormkdir
吗?
阅读这两个答案似乎两个答案都提供了创建互斥锁的解决方案,但是在某些情况下您需要使用flock
,而在某些情况下您需要使用mkdir
:
flock
flock
--> 你被迫使用mkdir
flock
则必须重新发明轮子mkdir
用于创建互斥锁意味着您的代码不会立即传达目的-> 而 usingflock
意味着您的代码不言自明地说“此代码正在实现同步”mkdir
创建互斥锁的有效解决方案,因此mkdir
以这种方式使用可能会使您的代码有更多的代码气味(特别是如果您的发行版flock
可用并且您选择不使用它)