« [日記] チョコレートとたいやき | トップページ | [Ruby] Thread#initialize の再定義(その3) »

2010年1月23日 (土)

[Ruby] Thread#initialize の再定義(その3)

完全に勘違いしていた。


class Thread
alias :org_initialize :initialize
def initialize(*arg, &block)
puts "OleInitialize call"
org_initialize(*arg, &block)
end
end

では全然駄目。


やりたいことは、


Thread.new {
puts "thread proc"
}

としたとき


Thread.new {
puts "OleInitialize"
puts "thread proc"
puts "OleUninitialize"
}

となるように Thread#initialize を再定義すること。


もう一歩進めると


Thread.new {
puts "OleInitialize"
begin
puts "thread proc"
ensure
puts "OleUninitialize"
end
}

となるように Thread#initialize を再定義すること。

|

« [日記] チョコレートとたいやき | トップページ | [Ruby] Thread#initialize の再定義(その3) »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Ruby] Thread#initialize の再定義(その3):

« [日記] チョコレートとたいやき | トップページ | [Ruby] Thread#initialize の再定義(その3) »