Multitasking v rozhraní .NET
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Multitasking v rozhraní .NETMultitasking v rozhraní .NET

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Multitasking v rozhraní .NET

Google       Google       26. 12. 2006       15 404×

Třída Thread v rozhraní .NET poskytuje podporu pro spuštěná vlákna v aplikacích. Tato třída obsahuje metody, které zdánlivě řeší operace pozastavení, pokračování a ukončení vláken.

Reklama
Reklama

Tyto metody by se měly používat jen výjimečně a obezřetně, protože mohou mít nepředvídatelné následky. Pro jejich pochopení musíte porozumět dvěma typům multitaskingu:

  • Kooperativní multitasking vyžaduje, aby každé vlákno pravidelně kontrolovalo svůj stav a zjišťovalo tak, zda má, nebo nemá pokračovat ve své činnosti. „Kooperativní“ znamená, že každé vlákno musí spolupracovat tím, že kontroluje svůj stav, jinak by se výkon multitaskingu začal zhoršovat. Tuto formu multitaskingu používají starší verze systému Windows.
  • Preemptivní multitasking neposkytuje vláknu žádnou volbu při určování, jak bude činnost vykonávat. Za stanovení, kdy a jak dlouho se má vlákno provádět, je zodpovědný podsystém vlákna. Preemptivní multitasking, který používají všechny současné verze systému Windows, je spolehlivější, ale vyžaduje řešení problémů multitaskingu, například přístup ke sdíleným prostředkům.

Metoda Thread.Suspend se drží preemptivního modelu. Tato metoda přeruší vlákno bez ohledu na to, jakou činnost právě vykonává. Protože vlákno není na pozastavení upozorněno, může se dostat do nestabilního stavu. Metoda Thread.Suspend by se k pozastavení vláken neměla používat. Místo ní by měl být použit kooperativní model. V rozhraní .NET 2.0 se používání metody Thread.Suspend zavrhuje.

Metoda Thread.Resume je doplňkem metody Thread.Suspend. Vzhledem k tomu, že bez metody Thread.Suspend nemá žádný účinek, neměla by být používána. V rozhraní .NET 2.0 se její používání zavrhuje.

Metoda Thread.Abort pomocí preemptivního modelu vlákno ukončí. Stejně jako při použití metody Thread.Suspend, mohou nastat problémy. Při volání Thread.Abort je na vláknu vyvolána výjimka ThreadAbortException. Pokud vlákno tuto výjimku zpracuje, je zajištěno, že uvolní všechny prostředky. Tato metoda se však podobá vypínání počítače stisknutím vypínače. Tomuto tvrdému přístupu se lze vyhnout správným použitím kooperativního multitaskingu.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

2 názory  —  2 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Lukáš ChurýLukáš je šéfredaktorem Programujte, vyvíjí webové aplikace, fascinuje ho umělá inteligence a je lektorem na FI MUNI, kde učí navrhovat studenty GUI. Poslední dobou se snaží posunout Laser Game o stupeň výše a vyvíjí pro něj nové herní aplikace a elektroniku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Celkem 66 % uživatelů zajímá rozšířená realita v oblasti gamingu. Mezi nimi je i 35 % těch, kteří jinak hry nehrají.
Pro téměř 50 % respondentů by bylo zajímavé zapojení virtuální objektů do reálného světa. Objekty by zůstaly tam, kde je při hře „umístili“.
Až 43 % uživatelů láká využití rozšířené reality ve sportu

Reklama
Reklama
Obrázek ke článku Instalace nejnovější verze Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached na Windows 10

Instalace nejnovější verze Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached na Windows 10

Buďte při vývoji efektivní! Pomocí tohoto návodu během chvíle vytvoříte ze svého počítače lokální webový server. Vyzbrojíte jej vším, co budete při práci potřebovat: Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached. Je to plná polní pro webové vývojáře s Windows 10. Navíc poradíme, jak mít na localhostu více projektů pomocí VirtualHost.

Obrázek ke článku Do poskytovatele managed hostingových služeb vshosting~ vstupují zahraniční investoři

Do poskytovatele managed hostingových služeb vshosting~ vstupují zahraniční investoři

Po více než roce jednání do vshosting~ vstoupili 3 investiční skupiny z Německa: Pecunalta, BrainWeb Investment a Quines Capital. Jde o investiční skupiny, které mají účast na projektech jako PlusServer (největší managed provider v Německu a jeden z největších v Evropě), PLESK, cPanel, CloudLinux, GoDaddy (největší světový hostingový poskytovatel z USA), či Acronis, pomohou vshosting~ v jeho plánované mezinárodní expanzi na další zahraniční trhy. Ve vshosting~ nyní drží 75% podíl, zbylých 25 % zůstává zakladatelům vshosting~, kterými jsou Damir Špoljarič (CEO) a Jan Martinů (CTO).

Obrázek ke článku Posuňte své znalosti IT na výrazně vyšší úroveň

Posuňte své znalosti IT na výrazně vyšší úroveň

Zájem o IT odborníky je v současnosti v tuzemsku i v zahraničí enormní a vedení firem si moc dobře uvědomuje, jak těžké je získat ty správné. I přesto, že je odborníků na trhu dlouhodobý nedostatek, stále platí, že část z nich je - a bude - placena výrazně lépe než ti ostatní. Proč tedy nebýt mezi nimi?

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý