0
假设我有一个单一的过程Rack应用,如果多个请求在同一时间可以到达的call(env)
的调用同时发生?或者保证call(env)
会连续发生,因此@counter
没有竞赛状况?使用独角兽还是Thin有什么区别?机架可以串行处理还是同时处理请求?
require 'json'
class Greeter
def call(env)
req = Rack::Request.new(env)
@counter ||= 0
@counter = @counter + 1
puts @counter
[200, {"Content-Type" => "application/json"}, [{x:"Hello World!"}.to_json]]
end
end
run Greeter.new