4. diel - Démoni, ThreadPool a asynchrónne delegáti v VB.NET
V minulom dieli, Monitory, priorita vlákien, výnimky a ďalšie témy v VB.NET , bola reč o ďalších témach, ktoré sa týkajú vlákien. Išlo najmä o monitory, priority a výnimky.
V dnešnom dieli sa naučíme využívať tzv. Bazén vlákien ThreadPool, čím budú naše aplikácie efektívnejšie. Naučíme sa tiež pracovať s tzv. Asynchrónnymi delegátmi, ktoré značne zjednoduší naše aplikácie.
Vlákna na pozadí (démoni)
Vlákno môže bežať tzv. Na pozadí (background). Hoci to môže vyzerať, že má také vlákno nižšiu prioritu ako klasické vlákno na popredí (foreground), nie je tomu tak. Vlákno na pozadí sa chová rovnako ako vlákno na popredí až na to čo sa stane, keď aplikáciu ukončíme. Ak beží okrem hlavného vlákna nejaká ďalšia vlákna na popredí, proces sa neukončí kým všetky vlákna neskončí svoju prácu. Ak hlavný vlákno skončí a sú spustená nejaká vlákna na pozadí, sú tieto vlákna automaticky ukončená bez ohľadu na to, akú činnosť vykonávala.
Vlákno na pozadí teda vnímame ako pracovné vlákno, ktoré robí nejakú činnosť pre hlavné vlákno a akonáhle to skončí, nemá už zmysel, aby pracovné vlákno ďalej bežalo. Týmto vláknam sa niekedy hovorí démoni.
Vlákno na pozadí vytvoríme jednoducho tak, že
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V tutoriálu sa naučíme spúšťať vlákna na pozadí a následne používať ThreadPool pomocou QueueUserWorkItem () a asynchrónnych delegátov s callback.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.