こんばんは、ZnZです。
Singletonのinstanceが複数になることがあります。
とりあえずこの場合は外側のinstanceをThread.newの前に
持ってくれば回避できましたが、使い方を気にしなきゃ
いけないクラスというのは使いにくいという話が
あったので、どうにかならないでしょうか?
#!/usr/local/bin/ruby
require 'singleton'
class C
include Singleton
def initialize
Thread.pass # 実際には普通の処理をしているだけ。
end
end
Thread.new do
p C.instance.id
end
p C.instance.id
# 2つのinstanceのidが違う。
---
ZnZ(ゼット エヌ ゼット)
西山和広(Kazuhiro Nishiyama)
mailto:nishiyama / mx1.tiki.ne.jp