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