如果我在控制器中有以下操作
def give_a
print a
a = a+1
end
当一个请求到来并且收到多个请求时,每个网络服务器会发生什么?
我知道 webrick 和瘦单线程,所以我猜这意味着在当前请求完成之前不会处理请求。
在 puma 或 unicorn(可能是其他)等并发网络服务器中会发生什么如果有 2 个请求到来并且 2 个 unicorn 线程处理它们,两个响应会给出相同的a
值吗?(在两个请求同时进入方法的情况下)
还是这一切都取决于服务器本身发生的事情以及对数据的访问是串行的?
有没有办法为并发网络服务器设置互斥体/信号量?