Wątki - wielokrotne uruchamianie problem z wydajnością

Odpowiedz Nowy wątek
2011-08-08 01:29
0

Siemanko, mam program który szuka informacji na 8 stronkach w 8 wątkach na raz.
Wszystko działa dobrze gdyby nie fakt że z każdym następnym uruchamianiem drastycznie wzrasta użycie procesora aż w końcu za około 5 razem system strasznie spowalnia, praktycznie staje. Czy ktoś spotkał się z taką sytuacją? Wszelkie klasy sa zwalniane w onTerminate po zakończeniu wątku.

Wszystko co trzeba zwalniam. Pamięć po wykonaniu wątku wraca do normy.

Druga sprawa to przed uruchomieniem sprawdzam czy zmienna klasy wątku jest nil i jak nie jest to ją zwalniam poprzez Freeandnil();
Wątek odpalam w taki sposób:

zmiennawatek := watek.tSzukaj.Create(false);

Kiedy chcę zwolnić zmiennawatek za drugim razem to kompilator wywala błąd. Zupełnie nie wiem dlaczego, zmiennawatek jest różna od nil.

Edit: Systemowy monitor zasobów pokazuje że wątki są zwalniane. Pamięć także a użycie procesora sie nie zmniejsza.


repeat
showmessage(<font color="blue">'Szacunek Ludzi Ulicy'</font color=blue>);
until <font color="red"> Nie ma warunku zakończenia </font color = red>
edytowany 3x, ostatnio: Legalnl, 2011-08-08 01:59
Daj więcej kodu. - payl 2011-08-08 03:35

Pozostało 580 znaków

2011-08-08 09:34
0
Legalnl napisał(a)

Wszelkie klasy sa zwalniane w onTerminate

źle - do zwalniania obiektów, które należą do wątku służy destruktor. Do zwalniania wątku służy ustawienie zmiennej FreeOnTerminate na true. Co do zużycia procesora to na 99,99% masz zrąbaną główną pętlę wątku. Daj więcej kodu


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
edytowany 1x, ostatnio: Misiekd, 2011-08-08 09:34

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0