相关疑难解决方法(0)

Sinatra是多线程的吗?

Sinatra是多线程的吗?我在其他地方读到"sinatra默认是多线程的",这意味着什么?

考虑这个例子

get "/multithread" do
  t1 = Thread.new{
    puts "sleeping for 10 sec"
    sleep 10
    # Actually make a call to Third party API using HTTP NET or whatever.
  }
  t1.join
  "multi thread"
end

get "/dummy" do
  "dummy"
end
Run Code Online (Sandbox Code Playgroud)

如果我随后在另一个选项卡或浏览器中访问"/ multithread"和"/ dummy",则无法提供任何内容(在这种情况下为10秒),直到"/ multithread"请求完成.如果活动冻结应用程序变得没有响应.

我们如何在不产生应用程序的另一个实例的情况下解决这个问题?

ruby sinatra

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

标签 统计

ruby ×1

sinatra ×1