sebas86 Guru
Joined: 01 May 2005 Posts: 568 Location: Szczecinek / Szczecin
|
Posted: Thu Jun 10, 2010 7:58 am Post subject: wxWdigets - problem z wxHTTP + wxThread |
|
|
Bawię się tą biblioteką od kilku dni i ogólnie podstawowe rzeczy opanowałem. Mam jednak problem z połączeniem wxHTTP i wxThread i ogólnie stabilnością aplikacji w takich przypadkach i ogólnie dziwnych błędach jakie się pojawiają nawet w przypadku kiedy korzystam z raczej bezpiecznych wzorców (patrz utwórz wątek, wykonaj, poczekaj na zakończenie przed zniszczeniem obiektu, który czeka na jego usługę).
Co do samego błędu to wxHTTP zawiesza się na pobraniu strumienia, w przypadku kiedy zawieszę główny wątek programu, a sam program, pomimo, że nic nie robi zużywa 100% czasu procesora - problem ten dotyczy niby tylko platformy Windows, nie zaś wxGTK, polecany tam hack także nie działa. wxHTTP ma także problem z obsługą wielu równoległych zapytań (po prostu aplikacja potrafi się wysypać, jednak tutaj nie jestem pewien czy przypadkiem nie wysyłam za dużo zdarzeń na raz).
Na razie mam połowiczne rozwiązanie tego problemu, po prostu ustawiam flagę aby wszystkie zakolejkowane wątki do skorzystania z wxHTTP zakończyły się od razu po osiągnięciu swojej sekcji krytycznej, ale prawie zawsze trafia się wątek, który zdąży wejść dalej i wisi na pobieraniu strumienia aż nastąpi timeout. Bez tej flagi wszystkie wątki w kolejce kończą się dopiero po upływie ustalonego czasu oczekiwania.
No tak zapomniałem najważniejszego. Więc... Czy macie pomysł co mogę robić źle albo czy spotkaliście się z czymś podobnym? _________________ Nieważne jaka dystrybucja, ważne, że Linux! |
|