[英]What's the best way to parallelize calls in JSP?
我对JSP的理解是java代码中的每一行都是逐步运行的(按顺序)。 例如,如果我下面有代码,则首先执行doSomething("apple")
直到返回值,然后再执行doSomething("orange")
直到返回值,然后最终执行doSomething("pear")
执行直到它返回一个值并显示整个页面。
<table border="1">
<thead>
<tr>
<th>Test</th>
</tr>
</thead>
<tbody>
<tr>
<td>Column A</td>
<td><%=javaBean.doSomething("apple")%></td>
</tr>
<tr>
<td>Column B</td>
<td><%=javaBean.doSomething("orange")%></td>
</tr>
<tr>
<td>Column C</td>
<td><%=javaBean.doSomething("pear")%></td>
</tr>
</tbody>
</table>
使这些调用并行的最佳方法是什么,例如同时运行doSomething("apple") & doSomething("orange") & doSomething("pear")
? 谢谢。
JSP
创建动态html。 因此,您实际上是将业务逻辑的结果从javaBean
放置到html表中。 因为它是不能并发的,因为您需要将每种方法的结果放入行中。
您应该重新构建代码,以便计算所需的一切(可能使用并发),然后检索结果以将它们放在行中。
正如我理解你的问题,你需要为你的方法创建三个任务(三个线程),它将独立运行,而不管它们的顺序是否完成。
您不应该在JSP中执行此操作,它旨在在单个线程中呈现。 如果页面太慢,则目前的常用方法是使用三个占位符快速加载页面。 然后用AJAX加载慢速部件。 这些可以并发调用回服务器以加载其余部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.