我已經實施了長期輪詢實施。發生什麼情況是,當請求到達時,我檢查是否有一些數據可用,如果沒有睡眠線程並遞歸調用方法直到數據可用。長輪詢實施
int time = 0;
String data;
public void checkme() {
time++;
if (data == null && time < 100) {
System.out.println("recursive call "+time);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
checkme();
} else {
System.out.println("end recursive call. data available");
}
}
但即使當我取消郵遞員的請求,仍然遞歸調用發生在後臺。
所以我認爲我的長輪詢實現是錯誤的,我可能需要跟蹤請求也從服務稍後或使用隊列像數據結構。
這不是遞歸的目的。只需使用一個循環。 – Blorgbeard
謝謝。但我的問題仍然存在。任何建議更好的長期民意調查實施? – Harshana
@Blorgbeard循環的優點是什麼,而不是遞歸?在這裏應用遞歸有什麼問題? – Harshana