raker napisał(a)
Chciałbym aby testowanie proxy odbywało się poprzez wątki jednak na początku nie jestem w stanie określić liczby wątków jaka jest potrzebna gdyż, raz w ciągu 10 minut potrzebuej przetestować 100 adresów proxy a innym razem 200
Delphi/Kompendium programisty/Aplikacje wielowątkowe napisał(a)
Nie zaleca się uruchamiania w tym samym czasie dużej ilości wątków w ramach tego samego procesu. Zalecana ilość to 16 wątków w ramach jednego procesu.
Według mnie 100 czy 200 adresów proxy sprawdzisz w czasie 1 minuty, nie potrzebujesz aż 10;
Stwórz jeden wątek, jedną macierz przechowującą adresy proxy i w pętli sprawdzaj po kolei każdy z nich przy ustawionym TimeOut; Gdyby TimeOut = 1s (przy większym odstępie czasu raczej nie wróci) i zawsze pakiet ginął w cyberprzestrzeni, przy 200 takich adresach masz 200 * 1s = 200s = 3,3min; Jeśli masz bardzo duży ruch i pakiety potrafią wrócić z powrotem po ponad 10s, to nie robiłbym dla każdego adresu osobnego wątku tylko wysłał po kolei pakiety do wszystkich i odbierał w jednym czasie; Wątek będzie jeden, ale nie będziesz oczekiwał na odpowiedz serwera proxy, tylko wysyłał następny, a jak ten wcześniejszy wróci to zapiszesz odpowiednie informacje o nim;
Jak to w praktyce wygląda to Ci nie napiszę, bo nigdy takiego czegoś nie robiłem; Zastanów się w jaki sposób napisać wysyłanie i odpieranie pakietów sprawdzających w jedym czasie tak, byś nie musiał czekać na odpowiedź serwera, bo to tylko strata czasu;