Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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 6 - Démoni, ThreadPool a asynchronní delegáti v C# .NET

V minulé lekci, Vlákna - Výjimky a Deadlock v C# .NET, jsme se věnovali výjimkám, jejich zachycení a propagaci. Na praktickém příkladu jsme si zkusili nasimulovat Deadlock.

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.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 150 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 9 článkům (9 lekcí) tohoto kurzu.

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 Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 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