Witam!
Od 20h poznaje C# ;D więc proszę po poradę:
Aplikacja (webcrawler) na wejściu dostaje duży plik TXT z URLami (30MB to norma) i po kolei:
pobiera źródło URLa
szuka ciągów Regexp
zapisuje znalezione ciągi do pliku
Jak to teraz wykonać wielowątkowo bo mam wątpliwości z:
- plik wejściowy jest duży wiec nie mogę go załadować całego :) muszę czytać linijka po linijce by nie otwierać go co wątek
- wątków nie mogę odpalić tyle ile urli :)
- jak odpalę 20 wątków to jak wykryć ile ich zostało i jak uruchamiać kolejne by zawsze procowało ich np 50?
- co z zapisywaniem wyników przez wątki? od kiedy mam ssd to nie widzi mi się otwieranie i zapisywanie jednej linijki po 20 tys razy :-)
Przekopałem google i nigdzie nie widzę przykładów które kontrolują ilość wątków. Co prawda są jakieś kolejki ale przecież nie załaduje 1mln wątków do oczekiwania na uruchomienie. Parallel foreach udało mi się uruchomić i mi pasuje idealnie (poza pytaniami o tryb odczytu,zapisu na dysku) gdyby nie ograniczenie do 4 wątków (tyle mam rdzeni).
Proszę o pomoc jak to wykonać najprościej, urle/przykłady/filmiki bardzo będą pomocne.