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

Multitasking v rozhraní .NETMultitasking v rozhraní .NET

 

Multitasking v rozhraní .NET

Google       Google       26. 12. 2006       13 473×

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 Blockchain & Bitcoin konference

Blockchain & Bitcoin konference

V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

Reklama
Reklama
Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

Obrázek ke článku Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Trend Micro, celosvětový lídr v oblasti bezpečnostních řešení a VMware, přední světový dodavatel cloudové infrastruktury a řešení pro podnikovou mobilitu, oznámily výsledky výzkumu mezi českými a slovenskými manažery zodpovědnými za ochranu osobních údajů, který zjišťoval, jak jsou připraveni na nové nařízení o ochraně osobních údajů (GDPR). Většina firem v České republice a na Slovensku nad 100 zaměstnanců je již s novým nařízením GDPR obeznámena. Výzkum provedený ve spolupráci s agenturou Ipsos ukázal, že téměř 8 firem z 10 o nařízení ví, přičemž jeho znalost je o něco vyšší na Slovensku (89 %) než v České republice (69 %).

Obrázek ke článku Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Jeden z nejznámějších ransomwarů, Locky, se vrací. Po většinu roku 2016 patřil mezi nejrozšířenější vyděračské softwary. Ke svému šíření využíval emailové kampaně s infikovanými přílohami. Ransomware Locky byl rozesílán prostřednictvím botnetu (internetový robot zasílající spamy) Necurs. Jeho aktivita na konci roku 2016 téměř upadla a spolu s ní i šíření ransomwaru Locky. Před několika týdny se Necurs opět probudil a začal posílat spamy nabízející výhodný nákup akcií. Dne 21. dubna zaznamenal bezpečnostní tým Cisco Talos první velkou kampaň ransomwaru Locky prostřednictvím botnetu Necurs za posledních několik měsíců.

Reklama autora

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý