私はいくつかのWebページからコンテンツをスクラップする簡単なプログラムを作っています。私はプログラムのスピードを上げてスレッドを使いたいと思っています。私はいくつかの整数でスレッドの量を制御できるようにしたい(私はユーザーがこれを定義できるようにしたい)。スレッドとの混乱、初心者
public void runLocales(String langLocale){
ParseXML parser = new ParseXML(langLocale);
int statusCode = parser.getSitemapStatus();
if (statusCode > 0){
for (String page : parser.getUrls()){
urlList.append(page+"\n");
}
}else {
urlList.append("Connection timed out");
}
}
そしてparseXMLクラス:
これは私がスレッドを作成するコードです
public class ParseXML {
private String sitemapPath;
private String sitemapName = "sitemap.xml";
private String sitemapDomain = "somesite";
Connection.Response response = null;
boolean success = false;
ParseXML(String langLocale){
sitemapPath = sitemapDomain+"/"+langLocale+"/"+sitemapName;
int i = 0;
int retries = 3;
while (i < retries){
try {
response = Jsoup.connect(sitemapPath)
.userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
.timeout(10000)
.execute();
success = true;
break;
} catch (IOException e) {
}
i++;
}
}
public int getSitemapStatus(){
if(success){
int statusCode = response.statusCode();
return statusCode;
}else {
return 0;
}
}
public ArrayList<String> getUrls(){
ArrayList<String> urls = new ArrayList<String>();
try {
Document doc = response.parse();
Elements element = doc.select("loc");
for (Element page : element){
urls.add(page.text());
}
return urls;
} catch (IOException e) {
System.out.println(e);
return null;
}
}
}
私は今、数日間のスレッドについて、最大読んでいると私ができます私の場合にスレッドを実装する方法を理解できませんか?誰かがいくつかの洞察力を提供できますか?