0
我有一個自定義服務模塊,我傳遞一個JSON正文,其中包含一個ID數組。我必須遍歷這些ID並使用每個ID分別進行Web服務調用以獲取響應主體,然後將這些響應聚合到自定義JSON結構中。我有這一切工作,但我想實現線程(或某種方式)異步,而不是連續的HTTP調用。我將如何實現線程在下面的代碼:Java - 線程HttpUrlConnection調用
ids = (JSONArray) jsonIn.get("IDs");
MyClass myClass = null;
List<MyClass> myClassList = new ArrayList<MyClass>();
for (int i = 0; i < ids.size(); i++) {
JSONObject p = (JSONObject)ids.get(i);
id = p.get("ID").toString();
//The HttpUrlConnection call is made in the getResponse() method
Gson gson = new Gson();
MyClassResponse result = gson.fromJson(getResponse(),
MyClassResponse.class);
for (int x = 0; x < result.ids[0].id.length; x++) {
myClass = new MyClass();
myClass.setStringOne(result.ids[0].fieldOne);
myClass.setStringTwo(result.ids[0].fieldTwo);
myClassList.add(x, myClass);
}
}
Gson gsonOut = new Gson();
String jsonString = gsonOut.toJson(myClassList);
JsonArray jsonArray = new JsonParser().parse(jsonString).getAsJsonArray();
JSONObject response = new JSONObject();
response.put("CustomStructure", jsonArray);
//pass back custom JSON body
我嘗試我用Runnable,但我的困惑在於爲地方把/啓動線程(循環內部或外部)或我不知道是否有其他方法使用它更適合異步HTTP調用。 – bgeveritt