2

Play Framework 2的Documentation表示Play是從下往上異步構建的。此外,它意味着在所謂的「默認執行上下文」中存在固定數量的線程。他們建議在此默認執行上下文之外執行長時間運行的任務,以確保應用程序不會阻塞。Play 2:異步控制器vs HTTP線程

在這一點上,我不明白這個模型與每個請求的HTTP線程的好處是什麼?他們說爲了更容易擴展和更好地工作,但我不明白爲什麼。

+0

我也想知道這一點,但無法找到明確的答案。有一件事是線程需要大量的系統資源以保持它們的有限性能和資源方面是一件好事。 – Kris

回答

1

Playframework使用放棄模型而不是傳統的線程模型

線程模型存在大量處理傳入請求的線程。使用此模型的服務器在等待傳入請求的池中有很多線程,這意味着使用內存以及共享可變狀態的問題(線程共享內存和資源,這是您想縮放時的問題)

已分配模型存在少量的請求處理線程,這些線程通過消息傳遞彼此通信。這個範例集中在異步任務和函數式編程模型中。