るりまサーチ

最速Rubyリファレンスマニュアル検索!
11件ヒット [1-11件を表示] (0.093秒)
トップページ > クエリ:-[x] > クエリ:lock[x] > クエリ:sleep[x] > クラス:File[x]

別のキーワード

  1. _builtin -
  2. open-uri open
  3. irb/input-method new
  4. irb/input-method gets
  5. matrix -

ライブラリ

検索結果

File#flock(operation) -> 0 | false (6339.0)

ファイルをロックします。

...ロックします。

ロックを取得するまでブロックされます。
ロックの取得に成功した場合は 0 を返します。
File
::LOCK_NB (ノンブロッキング) を指定すると、本来ならブロックされる場合に
ブロックされずに false を返すように...
...
File
.open("counter", "r") {|f|
f.flock(File::LOCK_SH)
p f.read
}
//}

//emlist[例2:][ruby]{
f = File.open("/tmp/foo", "w")

f.flock(File::LOCK_EX)
puts "locked by process1"

fork {
f = File.open("/tmp/foo", "r")
f.flock(File::LOCK_SH)
puts "locked by process2"
sleep
5
puts "unlocked...
...

sleep
5

f.flock(File::LOCK_UN)
puts "unlocked by process1"
sleep
1 # <- 子プロセスが確実に先にロックするための sleep
f.flock(File::LOCK_EX)
puts "re-locked by process1"

# => locked by process1
# unlocked by process1
# locked by process2
# unlocked by process2
# re-...