so what

2007-05-28

gdbm:ブロックする

RUBY

flockを使ってブロッキング。

require 'gdbm'

wait = ARGV[0]

def gdbm_write(k, v)
  puts "#{k}=>#{v}"
  open('lock', 'a') {|f|
    f.flock(File::LOCK_EX)
    GDBM.open('dbfile') {|hash|
      hash[k.to_s] = v.to_s
      sleep 3
    }
  }
end

(10..20).each {|i|
  gdbm_write(i, i*i)
}

winebarrel 2007-05-28 00:00

gdbm:ブロックする
この記事をはてなブックマークに追加
Tweet
  • もっと読む
コメントを書く
« gdbm:排他制御 gdbm:簡単なラッパー »
プロフィール
id:winebarrel id:winebarrel はてなブログPro
検索
リンク
  • Twitter
  • Bitbucket
  • GitHub
最新記事
  • qlapでAurora MySQLのdb.r6g.largeとdb.r5.largeの性能を比較した
  • mysqlslapのGo版みたいなものを書いた
  • RailsでMySQLのEXPLAINのやばそうなキーワードに色をつけるやつ
  • Aurora/RDS用プロダクション→ステージング レプリケーションツールを書いた
  • SpringOnion: Railsの遅そうなEXPLAINをログ出力するgem
月別アーカイブ

はてなブログをはじめよう!

winebarrelさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?

はてなブログをはじめる(無料)
はてなブログとは
so what so what

Powered by Hatena Blog | ブログを報告する

スターをつけました

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる