类似 nodejs,假设如果业务上可并行的代码比较少(个人感觉大量的业务代码就是并行度不高的),全都是下一步操作要等上一步的结果,代码里有不少 async/await,那可以说异步编程也是无法降低响应时间的.那异步编程带来了什么好处?
受限于机器硬件资源,单台服务器所能支撑的线程数是存在一个上限的,假设为 T,那么应用同时能处理的请求数(吞吐量)必然也不会超过 T。如果运行在像 Netty 这样的异步容器中,无论有多少个请求,用于处理请求的线程数是相对固定的,因此最大吞吐量就有可能超过 T。
上面这段那 java 来举例,说明异步编程未必能带来响应时间上的提升,但能提高吞吐量。
我不是很理解异步编程提高吞吐量这个点?大家能给能举一个通俗点的例子吗?也可以谈谈大家对异步编程好处的理解。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.