wxRubyでThread使うときの注意事項
55 :デフォルトの名無しさん:2010/03/24(水) 18:06:29
>>54
>>50 と同じようなことだと思うけど、ワーカースレッド作って buttonPush で
ワーカースレッドにキューを投げるようにすればいいんじゃないの?
雰囲気は、こんな感じ。(動くかどうかは未確認)
def initialize
@queue = Queue.new
Thread.start do
while q = @queue.pop
storeBinary
end
end
end
def buttonPush
@queue.push(:store)
end
59 :デフォルトの名無しさん:2010/03/24(水) 21:33:34
>>54
スレッドが回っていないんじゃない?多分。
GUI起動したmainスレッド側で実行権つかみっぱなしな悪寒
GUI起動直前に、タイマーかなんかで定期的に
Thread.passでスレッド回すコード追加してみたら
いけるかもね
66 :デフォルトの名無しさん:2010/03/24(水) 22:50:43
>>59
他の GUIツールキットの事情は知らないけど
wxruby はもろにそれだなt = Wx::Timer.new(self, 9999)
evt_timer(9999) { Thread.pass }
Thread.new { hoge }
t.start(100)こんな感じでタイマー使って定期的に Thread.pass してた