CKFileLockクラスを使うと、ファイルの排他・共有ロックを行うことができます。デフォルトの実装はflockを使ったファイルロックです。flockが使えない環境やflock以外のロックを使いたいときはCKFileLockクラスを再定義してください。
# ファイルロック(排他)
CKFileLock.exclusive_lock(‘file.txt’, ‘rw+’) { |f|
# ファイルロック中の処理
}
# ファイルロック(共有)
CKFileLock.shared_lock(‘file.txt’, ‘r’) { |f|
# ファイルロック中の処理
}