2012-04-07 2 views
1

クラス変数を使用してRailsのスレッドと通信するには0Kですか?クラス変数を使用してスレッドと通信できますか?

キューを使用するのに比べて賛否両論はありますか?

私はこれがどのような環境で動作するかどうか、それは鉱山で働いていたかわからない:ルビーエンタープライズ+旅客+ nginxの+ Railsの3

はここに例を示します

# rails runner "ThreadJob.new.run" 
class ThreadJob 

    @@counter = 0 

    def run 
    producer = Thread.new do 
     1.upto 10 do 
     sleep 1 
     @@counter+= 1 
     puts "Producer: #{@@counter}" 
     end 
    end 

    consumer = Thread.new do 
     sleep 0.5 
     1.upto 10 do 
     sleep 1 
     @@counter-= 1 
     puts "Consumer: #{@@counter}" 
     end 
    end 

    producer.join 
    consumer.join 

    puts @@counter # result should be 0 
    end 
end 

場合、私は思ったんだけどこれは、別のプロセスの中から@@ counterを変更すると機能します。

答えて

関連する問題