4
我有一些相當基本的代碼從給定的URL獲取HTTP狀態代碼:HttpURLConnection產生大量的進程?
URL url = new URL(args[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(10000);
connection.setReadTimeout(10000);
connection.setInstanceFollowRedirects(true);
int code = connection.getResponseCode();
connection.disconnect();
System.out.print(code);
System.exit(0);
顯然一切都是try/catch塊內,但他們做的是一個錯誤退出。該代碼似乎工作,所以我跑了一個URL列表反對它。我監視了進程,並注意到在一些URL上,生成了大約10個用於相同URL的Java實例。
換句話說,我會跑:
java -jar HTTP.jar {URL}
,看到該命令的10倍左右,當我跑HTOP。他們看起來像常規進程,而不是線程,並且在htop中我已經「隱藏用戶區線程」打開。到底是怎麼回事?是發送多個請求還是隻有一個?
不是,那不是。我正在測試的網址中沒有任何網址在網址中。這似乎只在頁面需要很長時間才能加載時發生。我創建了一個PHP頁面,在輸出任何內容之前等待5秒鐘,這似乎觸發了多個進程。 – Rsaesha 2013-03-12 13:44:26
它們也出現在頂部嗎? – artbristol 2013-03-12 14:24:59