在bash中创建哑光时,我应该使用'羊群或`mkdir'



我搜索了bash如何创建mutex。我遇到了两种不同的方式来创建bash中的哑光。两者都是stackoverflow答案,并且都具有> 100个upvotes:一个答案使用mkdir,另一个答案使用flock

在创建sutex时在bash中,我应该使用 flockmkdir

阅读两个答案,这两个答案似乎都提供了一种创建互惠码的解决方案,但是在某些情况下,您需要使用 flock,而在某些情况下,您需要使用mkdir

  • 如果您已经需要强大/测试的功能,例如超时,阻止等等 ->使用flock
    • 内置超时
    • 内置支持阻止或非块的支持
    • 内置的支持用于删除二线后
  • 如果您的发行版没有flock->您被迫使用mkdir
    • 如果您需要flock提供的任何超时或其他功能,则必须重新发明轮子
    • 使用 mkdir创建互斥性意味着您的代码不会立即传达目的 ->使用flock表示您的代码说明自己说"此代码正在实现同步"
    • 大多数人都不熟悉mkdir是创建静音的有效解决方案,因此以这种方式使用mkdir可能会使您的代码具有更多的代码气味(尤其是如果您的发行版具有flock,并且您选择不使用它)

相关内容

  • 没有找到相关文章

最新更新