Hallo, ich stehe gerade vor folgendem Problem:
Ich habe 4 urls. Jede davon enthält einpaar links, die ich extrahieren möchte und dann in ein HashSet ablegen will. Ich will das einbisschen schneller machen, also nehme ich für jeden Extrahiervorgang einen eigenen Thread. Jeder dieser Extrahiervorgänge gibt mir ein HashSet zurück. Mein Ziel ist es die vier verschiedenen HashSets in ein einziges HashSet reinzutun. Bis jetzt klappt das aber nicht weil die Threads sich iwie streiten. Der Erste presst sein Zeug noch rein und dann will schon der zweite...
Danke im voraus für die Hilfe
Code:
public class MyProblem {
private HashSet<String> links;
private String url1 = "www.asdf1.de";
private String url2 = "www.asdf2.de";
private String url3 = "www.asdf3.de";
private String url4 = "www.asdf4.de";
public void getLinks() {
new LinkGetterThread(url1, this).start();
new LinkGetterThread(url2, this).start();
new LinkGetterThread(url3, this).start();
new LinkGetterThread(url4, this).start();
}
public void addLinksToHashSet(HashSet<String> links){
this.links.addAll(links);
}
}
Code:
public LinkGetterThread extends Thread{
private String url;
private MyProblem referenz;
public LinkGetterThread(String url, MyProblem referenz){
this.url = url;
this.referenz = referenz;
}
public void run(){
referenz.addLinksToHashSet(GetterClass.getLinks(url));
//die Methode getLinks() gibt ein HashSet<String> zurück.
//Dort sind die extrahierten links aus der url drin.
}
}
Ich habe 4 urls. Jede davon enthält einpaar links, die ich extrahieren möchte und dann in ein HashSet ablegen will. Ich will das einbisschen schneller machen, also nehme ich für jeden Extrahiervorgang einen eigenen Thread. Jeder dieser Extrahiervorgänge gibt mir ein HashSet zurück. Mein Ziel ist es die vier verschiedenen HashSets in ein einziges HashSet reinzutun. Bis jetzt klappt das aber nicht weil die Threads sich iwie streiten. Der Erste presst sein Zeug noch rein und dann will schon der zweite...
Danke im voraus für die Hilfe