[英]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.