Multithreading 重头戏2:异步控制器与HTTP线程

Multithreading 重头戏2:异步控制器与HTTP线程,multithreading,asynchronous,web,playframework,playframework-2.0,Multithreading,Asynchronous,Web,Playframework,Playframework 2.0,PlayFramework2的第二个版本说,Play是自下而上异步构建的。此外,它还意味着在所谓的“默认执行上下文”中有固定数量的线程。他们建议在此默认执行上下文之外执行长时间运行的任务,以确保应用程序不会阻塞 在这一点上,我不明白对于每个请求,与HTTP线程相比,这个模型到底有什么好处?他们说要使其更易于扩展,并在负载下更好地工作,但我不明白为什么。Playframework使用事件模型而不是传统的线程模型 在线程模型中,存在大量处理传入请求的线程。使用此模型的服务器在一个池中有许多线程等待传

PlayFramework2的第二个版本说,Play是自下而上异步构建的。此外,它还意味着在所谓的“默认执行上下文”中有固定数量的线程。他们建议在此默认执行上下文之外执行长时间运行的任务,以确保应用程序不会阻塞

在这一点上,我不明白对于每个请求,与HTTP线程相比,这个模型到底有什么好处?他们说要使其更易于扩展,并在负载下更好地工作,但我不明白为什么。

Playframework使用事件模型而不是传统的线程模型

在线程模型中,存在大量处理传入请求的线程。使用此模型的服务器在一个池中有许多线程等待传入请求,这意味着内存的使用以及共享可变状态的问题(线程共享内存和资源这在您想要扩展时是个问题)


在事件模型中,存在少量通过消息传递相互通信的请求处理线程。这个范例集中在异步任务和函数式编程模型中。

我也想知道这一点,但还没有找到一个明确的答案。一件事是线程占用了大量的系统资源,所以保持它们的有限性对性能和资源来说都是一件好事。