コントローラーに次のアクションがある場合
def give_a
print a
a = a+1
end
リクエストが来て、複数のリクエストが受信されたとき、各 Web サーバーで何が起こるでしょうか?
私は webrick とシンとシングル スレッドを知っているので、現在のリクエストが完了するまでリクエストが処理されないことを意味すると思います。
puma や unicorn (おそらく他のもの) などの同時 Web サーバーで何が起こるか 2 つの要求が来て、2 つの unicorn スレッドがそれらを処理する場合、両方の応答は同じa
値を返しますか? (両方のリクエストが同時にメソッドに入った場合)
それとも、サーバー自体で何が起こるかに依存し、データへのアクセスはシリアルですか?
同時 Web サーバーにミューテックス/セマフォを設定する方法はありますか?