Powered by SmartDoc

ファイルをロックする

CKFileLockクラスを使うと、ファイルの排他・共有ロックを行うことができます。デフォルトの実装はflockを使ったファイルロックです。flockが使えない環境やflock以外のロックを使いたいときはCKFileLockクラスを再定義してください。

# ファイルロック(排他)

CKFileLock.exclusive_lock(‘file.txt’, ‘rw+’) { |f|
  # ファイルロック中の処理

}

# ファイルロック(共有)
CKFileLock.shared_lock(‘file.txt’, ‘r’) { |f|
  
# ファイルロック中の処理
}