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 ?
0
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ć.