タグ

2020年10月19日のブックマーク (1件)

  • flock()を使った強固な排他処理(ファイルロック)

    perlで排他処理(ファイルロック)を行う場合様々な方法があります。 昔のレンタルサーバの場合はflock()が使えない環境などがあり、 symlinkやmkdirを使った処理が多くありました。 しかし、スピード・信頼性に優れていて、現代どこのサーバ(Unix系の)でも使えるであろうflockを使わない手はないと思います。 flockなんか壊れる、信頼しない…使い方は間違っていませんか? まずは各ロック方式の特徴を ■ symlink ・遅い。 ・ロックしたままの状態(ロック用シンボリックリンク)が残る可能性がある。 ・サーバーによっては使えない場合がある。 ■ mkdir ・遅い。 ・ロックしたままの状態(ロック用ディレクトリ)が残る可能性がある。 ・処理全体をロックする場合に便利。 ・どの環境でも使用できる。 ■ flock ・速い。 ・アンロックし忘れが無い。 ■サンプルソース fl

    flock()を使った強固な排他処理(ファイルロック)
    tada0121
    tada0121 2020/10/19