Uaktualnienie modelu z watku
-
Witam,
Pisze aplikacje ktora odbiera dane z sieci (przesylane jest cos w rodzaje struktury katalogu) nastepnie laduje te dane do modelu, sprawdzajac czy juz taki wpis tam istnieje czy nie. Chcialbym przeniesc teraz aktualizacje tego modelu do watku zeby nie blokowac GUI. Moje pytanie brzmi jak moge to zrobic, czy moge przeslac pointer do modelu i zalozyc mutex-y w calym modelu ale czy nie zniszczy to wydajnosci ? Nie wiem jaka bedzie odpowiednia droga do akutalizacji modelu poniewaz duzo bedzie takich danych przesylanych i chcialbym zeby to wszystko dzialo sie w innym watku.
-
Moze moge poprostu przeniesc caly model do nowego watku, wykorzystujac moveToThread ?
Na modelu bede wykonywal dosc sporo operacji. Za kazdym razem musze sprawdzac pewien rekord wystepuje w modelu czy nie i pozneij odpowiednio je dodawac.
Moze ktos moglby mi cos podpowiedziec. -
Chętnie bym coś powiedział, sam nie raz myślałem o przeniesieniu modelu to oddzielnego wątku: takie rozwiązanie miałoby naprawdę sporo plusów. Niestety, jeszcze nie zebrałem się na odwagę + nie miałem czasu, by tego dokonać samemu. Może kiedyś się ogarnę, to dam znać jakie były wyniki, ale póki co nic nie wiem.
Jeśli mam zgadywać, to powiedziałbym, że przynajmniej częściowe przejście do innego wątku jest możliwe i wskazane (dzięki temu wątek GUI nie blokowałby się == zadowoleni klienci, bo nic nie przycina), ale trzeba być ostrożnym, bo klasy Q*View często się z modelem komunikują.