gpt4 book ai didi

java - Tomcat 中的同步和异步请求处理有何不同?

转载 作者:行者123 更新时间:2023-11-28 23:56:59 25 4
gpt4 key购买 nike

我无法弄清楚 Tomcat 中的同步调用和异步调用之间有什么区别。我到处都使用 NIO。我有数千个连接,由几个 Tomcat 线程管理。当长同步请求收到时,线程从 Tomcat 线程池中借用并处理请求。该线程等待长进程完成,然后将结果写入 HTTPResponse。所以资源只是为了等待而浪费。当长异步请求收到时,Tomcat 线程创建单独的线程,长进程在这个新线程中启动,Tomcat 线程几乎立即返回到池中。我理解对吗?如果是这样,我看不到同步和异步模式之间有任何区别,因为在这两种模式中使用相同数量的线程

最佳答案

区别在于“拉”与“推”。是的,你是对的,无论哪种方式,都必须分配一个线程来完成工作。

但是对于同步请求,您必须手动创建工作线程并从客户端轮询任务结果,而对于异步请求,服务器将在任务完成时将结果推送给客户端。

后者稍微高效一些,因为您的服务器不必为每个结果处理许多轮询请求。

关于java - Tomcat 中的同步和异步请求处理有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28219176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com