Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 4 - Démoni, ThreadPool a asynchronní delegáti v C# .NET

V minulé lekci, Monitory, priorita vláken, výjimky a další témata v C# .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 C# .NET tutoriá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 125 Kč
Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za exkluzivní cenu 25 Kč
Na svém účtu máš aktuálně 0 Kč
Koupí tohoto výhodného balíčku získáš přístup ke všem 9 lekcím s kontrolou a certifikací a ještě navíc ušetříš 101 Kč. Nabídka je časově omezená a platí pro všechny lekce v kurzu. Nakup teď a získej limitovanou 80% slevu.
Koupit jen lekci 25 Kč
Na svém účtu máš aktuálně 0 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.

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

Článek pro vás napsal David Čápka
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 13 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity