迅速掌握Ruby文件鎖概念
作者:佚名
Ruby文件鎖的操作一般分為鎖文件和解鎖文件兩種。我們可以分別通過使用File的flock方法來實現(xiàn)這一功能需求。下面將會做一個具體的介紹。
Ruby語言是一款完全面向?qū)ο蟮哪_本語言。其靈活性,易操作等特有的性質(zhì)被眾多編程人員所接受。在這里我們將會認(rèn)識到Ruby文件鎖的一些相關(guān)概念。#t#
操作系統(tǒng)提供文件鎖,F(xiàn)ile的flock方法將會鎖或者解鎖一個文件,它的參數(shù)是下面的實例中的任意一個. File::LOCK_EX, File::LOCK_NB, File::LOCK_SH, File::LOCK_UN,或者用邏輯操作符or來組合這些Ruby文件鎖實例.
- file = File.new("somefile")
- file.flock(File::LOCK_EX)
- # 排他鎖; 一個時刻只能有一個
進(jìn)程獲得鎖?!? - file.flock(File::LOCK_UN)
- # 現(xiàn)在解鎖?!?
- file.flock(File::LOCK_SH)
- #共享鎖,一個時刻,可以有多個
進(jìn)程獲得給定文件的鎖?!? - file.flock(File::LOCK_UN)
- # 解鎖
- locked = file.flock(File::
LOCK_EX | File::LOCK_NB) - #lock_nb表示加鎖時不阻塞,
因此這邊將會返回false
希望通過上面介紹的Ruby文件鎖具體操作方法,對大家有所幫助。
責(zé)任編輯:曹凱
來源:
ddvip.com