2007-05-28から1日間の記事一覧

gdbm:排他制御

http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=gdbm 以下スクリプトを複数プロセスで実行。 require 'gdbm' GDBM.open('dbfile') do |hash| for i in (10..20) hash[i.to_s] = (i * i).to_s sleep 10 end end 片方はエラー。 ex_gdbm.rb:3:in `o…

gdbm:ブロックする

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(…

gdbm:簡単なラッパー

method_missingじゃなくて、処理をはさんでGDBMに委譲できたりするといいのになぁ。 require 'gdbm' class Db def initialize(dbname) @dbfile = File.expand_path(dbname) @lockfile = "#{File.dirname(@dbfile)}/lock_#{File.basename(@dbfile)}" end def …

link:嘘ついてゲーム会社に就職したんですが、クビになりそうです助けて!

http://imihu.blog30.fc2.com/blog-entry-2833.html なんか全然笑えない…。 怒られるなり、クビになるなりなんなりして、楽になって欲しいなぁ… (クビは楽じゃないかな?)