Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Nauč se s námi víc. Využij 50% zdarma na e-learningové kurzy.
C# week

Lekce 4 - 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

Znalosti v hodnotě stovek tisíc získáš za pár korun

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.

Omezená nabídka: Nauč se vše a ušetři

Koupit lekce a funkce postupně a po jednom 50 bodů
Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za exkluzivní cenu 43 bodů (108 Kč)
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 7 lekcím s kontrolou a certifikací a ještě navíc ušetříš 18 Kč. Nabídka je omezená pouze pro první lekce z kurzu a obsahuje exkluzivní slevu 15%.
43 bodů získáš za přidání svého článku na síť nebo odpovídá 125 Kč 108 Kč

Pozor, pokud si koupíš pouze tuto lekci, ztratíš nárok na speciální slevu 15% na balíček všech lekcí.

Koupit jen lekci 10 bodů
Na svém účtu máš aktuálně 0 bodů
10 bodů získáš za přidání svého článku na síť nebo odpovídá 25 Kč

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.

Co od nás v dalších lekcích dostaneš?
  • 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.

Body 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íť.

Článek pro vás napsal Ondřej Štorc
Avatar
Autor se věnuje C#, HTML a CSS. Snaží se proniknout do tajů PHP, JS a ASP.NET
Aktivity