0
を私は複数のスレッド上で、次の方法を実行しています:同時HTTPリクエスト
private JSONObject jsonFromUrl(String requestUrl) {
try {
URLConnection connection = new URL(requestUrl).openConnection();
connection.setRequestProperty("Accept-Charset", charset);
InputStream response = connection.getInputStream();
JSONParser jsonParser = new JSONParser();
return (JSONObject)jsonParser.parse(
new InputStreamReader(response,charset));
} catch (Exception e) {
Logger.error("Exception while sending request: " + requestUrl + " error: " + e);
e.printStackTrace();
return new JSONObject();
}
}
は、HTTPリクエストを並列に処理されていますか?この方法でリクエストを作成すると、最初のレスポンスが到着するまで他のスレッドからリクエストが送信されなくなりますか?
回答:並列、はい。他のインスタンスをブロックする、いいえ。異なるスレッド間でURLダウンロードの複数のインスタンスを実行できないと思われる理由はありますか? – selbie
遅延が予想よりも長く、これが接続の結果であるか、または並列性の欠如であるかを判別することはできません – Yigal
InputStreamをどこで終了しますか? –