Lekce 5 - Démoni, ThreadPool a asynchronní delegáti v VB.NET
V minulém dílu, Monitory, priorita vláken, výjimky a další témata v VB.NET, byla řeč o dalších tématech, která se týkají vláken. Šlo zejména o monitory, priority a výjimky.
V dnešním dílu se naučíme využívat tzv. bazén vláken ThreadPool, čímž budou naše aplikace efektivnější. Naučíme se také pracovat s tzv. asynchronními delegáty, které značně zjednoduší naše aplikace.
Vlákna na pozadí (démoni)
Vlákno může běžet tzv. na pozadí (background). Ačkoli to může vypadat, že má takové vlákno nižší prioritu než klasické vlákno na popředí (foreground), není tomu tak. Vlákno na pozadí se chová stejně jako vlákno na popředí až na to co se stane, když aplikaci ukončíme. Pokud běží kromě hlavního vlákna nějaká další vlákna na popředí, proces se neukončí dokud všechna vlákna neskončí svou práci. Pokud hlavní vlákno skončí a jsou spuštěna nějaká vlákna na pozadí, jsou tato vlákna automaticky ukončena bez ohledu na to, jakou činnost prováděla.
Vlákno na pozadí tedy vnímáme jako pracovní vlákno, které dělá nějakou činnost pro hlavní vlákno a jakmile to skončí, nemá již smysl, aby pracovní vlákno dále běželo. Těmto vláknům se někdy říká démoni.
Vlákno na pozadí vytvoříme jednoduše tak, že
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu se naučíme spouštět vlákna na pozadí a následně používat ThreadPool pomocí QueueUserWorkItem() a asynchronních delegátů s callbackem.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.