相关疑难解决方法(0)

事件驱动模型和反应堆模式有什么区别?

来自维基百科Reactor Pattern文章:

反应器设计模式是用于处理通过一个或多个输入同时传递给服务处理器的服务请求的事件处理模式.

它命名了几个例子,例如nodejs,twisted,eventmachine

但据我所知,上面是流行的事件驱动框架,所以让它们也成为反应堆模式框架?

如何区分这两个?或者他们是一样的?

events design-patterns twisted eventmachine

73
推荐指数
2
解决办法
2万
查看次数

红宝石块内的赛璐珞异步不起作用

尝试在我的工作示例中实现Celluloid 异步似乎表现出奇怪的行为.

这里我的代码看起来

 class Indefinite
    include Celluloid

      def run!
         loop do 
           [1].each do |i|
             async.on_background
           end
         end
      end 


       def on_background
         puts "Running in background" 
       end
   end

   Indefinite.new.run!
Run Code Online (Sandbox Code Playgroud)

但是当我运行上面的代码时,我从未看到过" 在后台运行 "

但是,如果我睡觉,代码似乎工作.

class Indefinite
   include Celluloid

    def run! 
      loop do 
        [1].each do |i|
          async.on_background
        end
        sleep 0.5
      end 
    end


   def on_background
     puts "Running in background" 
   end
 end

 Indefinite.new.run!
Run Code Online (Sandbox Code Playgroud)

任何的想法?为什么在上述两个场景中存在这样的差异.

谢谢.

ruby celluloid ruby-2.2

14
推荐指数
1
解决办法
1426
查看次数