我正在寻找一个描述网络服务器与编程语言中的“连续”机制的答案。
我的理解是,使用延续,让“pi 的数字”生产者与“pi 的数字”消费者进行通信是很简单的,无需显式线程。
我听说过有关 Jetty 延续的好消息。我很好奇其他人的想法。
我可能已经找到了答案,但无论如何我还是在这里问这个问题 - 以备记录。
最佳答案
how do they compare to the continuations found in programming languages?
除了名字之外,他们没有任何共同点。它只是一种通过为 Servlet 提供用于存储和恢复其状态的 API 来释放当前线程的机制,但它完全是手动管理的,而不是真正的延续,其中状态是从当前上下文自动推断的.
这种情况的典型示例是分层(组合)Web 服务,其中一个服务需要向其他服务发出许多请求,并且在发出这些请求时,会释放当前线程。请求完成后(可以在其他一些线程上异步完成),将调用 servlet 的 resume
方法,然后该方法将根据请求的结果组装响应。
关于jetty - "Jetty 6 Continuations"是什么?它们与编程语言中的延续相比如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204355/