MS VS C++, backgroundworker


(Holycrom) #1

Czy istnieje możliwość nadania priorytetów dla tak tworzonego wątku? jak tworze sobie obiekt worker, to w jego metodach nie mam nic, co by wskazywało na jakieś priorytety. Pytam się dlatego, że wątek czasem zwyczajnie przestaje mi liczyć. Związane jest to z metodą reportProgress(za często chyba używam jej), ale jak zwiększam priorytet w menadżerze zadań, to działa lepiej, choć czasem również przestaje. Jakieś rady co zrobić, aby wątek nie zatrzymywał swojego działania samoistnie, jakiekolwiek??

-- Dodane 18.07.2010 (N) 21:32 --

nikt tego komponentu nie używa?


(Somekindsoftware) #2

BackgroundWorker to proste narzędzie. Odpalasz akcje i zapominasz o niej, ale możesz monitorować jej stan i zakończenie, nic więcej.

Jeśli chcesz sterować priorytetami użyj normalnych wątków.

Niemniej jednak to co opisałeś, wskazuje raczej na Twój błąd. Priorytety mogą zmieniać czas wykonywania obliczeń, a nie ich przedwczesne zakończenie.


(Holycrom) #3

rozumiem, ale to wygląda tak jakby problemem było wyświetlanie informacji w komponencie textbox. Jeżeli wyświetlanie ograniczę np, 10krotnie, to już działa poprawnie. Nie da się wymusić np. oczekiwania na realizację metody reportprogress?


(Somekindsoftware) #4

Nie rozumiem. Mógłbyś pokazać jakiś kod i opisać co chcesz zrealizować?