złożone obliczenia i wielowątkowość

0

Mam takie pytanko, jeśli program działa w jednym wątku i w pewnym momencie musi dokonać złożonych obliczeń zajmujących dłuższą chwilę, to czy możliwe że taka okienkowa aplikacja się "zawiesi" i przerwie obliczanie nigdy nie osiągając wyniku? Czy rozpoczęcie nowego wątku jest niezbędne w takiej sytuacji, nawet jeśli mi nie zależy na tym, aby można prowadzić równolegle inne czynności ?

2

Jest możliwe, bo system operacyjny nie lubi wiszących wątków GUI. Jeśli zawiesisz GUI na długą chwilę to OS może ubić taką aplikacę uznając że nie odpowiada i się zawiesiła.

0

Nowy wątek ma dwie zalety. Pierwsza, dość oczywista, czyli nie blokowanie GUI/aplikacji. Druga, niezbyt oczywista, jeżeli wykorzystasz do wykonania tego typu obliczeń interfejsu Future i powiązanej z nim infrastruktury Executor Framework to możesz w przypadku gdy obliczenia zapętlą się, zawieszą lub staną bezcelowe najzwyczajniej w świecie je zatrzymać.

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