Új hozzászólás Aktív témák

  • joysefke

    veterán

    válasz Alu #9922 üzenetére

    Nem párhuzamosítást, hanem asszinkronitást keresel. A UI-ok általában úgy működnek, hogy egyetlen, dedikált szál tudja a UI-on lévő controllokat updatelni, minden más szálból (pld egy background thread) történő update exceptiönnel végződik.

    Ha a UI -threaden blokkolsz (a UI event által triggerelt kód nem másik threaden fut, vagy a UI threadet kényszeríted IO-ra várakozásra) akkor megfagy a UI egészen addig amíg a UI thread fel nem szabadul.

    Arra hogy hogyan tudod a munkát egy másik szálra átvinni majd az eredményt a UI threadnek visszaadni arra a Task-Async-Pattern (async -await) való. Vannak más régi megvalósítások is. Keress async-await példát, elég egyszerű a használata.

    (Nincs dolgom UI-al, de ez kb általános kell legyen, tehát a Winforms-ra is vonatkozik).

    szerk:
    A fent említett IProgress is egyébként egy ilyen megvalósítás. A progress reportot átküldi a UI threadre

    [ Szerkesztve ]

Új hozzászólás Aktív témák