class Swee::AppExecutor::ExeThread

TODO: 多线程处理控制器和路由

Constants

DEFAULT_SLEEP

Public Class Methods

new() click to toggle source
# File lib/swee/app_executor.rb, line 90
def initialize
  @mission_queue = []
end

Public Instance Methods

<<(mission) click to toggle source
# File lib/swee/app_executor.rb, line 112
def << mission
  @mission_queue << mission
  create! if @t.dead?
end
busy?() click to toggle source
# File lib/swee/app_executor.rb, line 108
def busy?
  !@mission_queue.empty?
end
create!() click to toggle source
# File lib/swee/app_executor.rb, line 104
def create!
  @t = Thread.new { run }
end
run() click to toggle source
# File lib/swee/app_executor.rb, line 94
def run
  while true
    if @mission_queue.empty?
      wait
    else
      @mission_queue.shift.call()
    end
  end
end
wait() click to toggle source
# File lib/swee/app_executor.rb, line 117
def wait
  sleep DEFAULT_SLEEP
end