Trådbaserede løsning, paralelle løkker
Hej Eksperter!Jeg sidder her med en lidt langsom applikation. Jeg har lavet en webcrawler som indekserer en række sider for materiale. Og jeg har fundet ud af at den kan være langt mere effektiv hvis den crawler to sider ad gangen (eller flere).
Jeg har så fået refaktoreret min kode så den kan køre flere gange samtidig, uden at de peger på samme objekter. Dette betyder den følgende kode kan skrives:
Webfetch wf1 = new Webfetch("http://newz.dk");
wf1.Run();
Webfetch wf2 = new Webfetch("http://reddit.org");
wf2.Run();
Webfetch wf3 = new Webfetch("http://slashdot.org");
wf3.Run();
Disse metoder ville sagtens kunne køre parallelt istedet for efter hinanden. Alternivt kunne jeg køre tre programmer med hver deres WebFetch uden problemer.
Men nu ville jeg gerne vide hvordan jeg kunne køre de tre metoder samtidigt? Hvordan gør man dette? De skal jo bare køre til de slutter, og kan de vise progress tilbage til main-tråden?