Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 18422|Odpověď: 1

[Zdroj] C# se učí používat vlákna Thread

[Kopírovat odkaz]
Zveřejněno 27.03.2017 17:32:28 | | |

. .NET framework je knihovna tříd pro běh pro C#, . .NET je vícevláknové prostředí. Vlákno je jeden sekvenční řídicí proces v procesu. Vlákno je entita v procesu. Proces může mít více vláken a vlákno musí mít rodičovský proces.

     Vlákna obecně mají tři základní stavy: čtení, blokování a provoz. Ze tří základních stavů je odvozeno pět základních operací vláken. Nejprve odvozujeme, vlákna jsou odvozována v rámci procesu. Za druhé, naplánujte a vyberte připravené vlákno pro vstup do stavu operace. Za třetí, blok, pokud vlákno potřebuje počkat na událost během vykonání, bude zablokováno. Za čtvrté, odblokujte, pokud událost začne, vlákno je odblokováno a vstupuje do fronty připravenosti. Za páté, dokončit, vlákno končí a kontext registru a obsah zásobníku, který provedlo, jsou uvolněny.

     Nové vlákno je nově generovaný objekt vlákna, který dosud nealokoval zdroje. Proto můžete použít pouze metody start() nebo close().

     Runable state nastává, když vlákno získá potřebné zdroje po spuštění metody start() a zavolá metodu run() k vykonání.

     Stav Not Runable je stav, který vstupuje, když nastanou následující události, je vyvolána metoda suspend(), metoda sleep(), vlákno použije wait() k čekání na podmínkovou proměnnou a vlákno čeká na I/O.

    Mrtvý je, když se metoda Run() vrátí, nebo jiné vlákno zavolá metodu stop() a vlákno vstoupí do mrtvého stavu. Níže jsou dva jednoduché příklady Thread.


Shrnutí: Proč používat Thread (vícevlákno), je to proto, aby se zabránilo blokování hlavního vlákna, pokud potřebujete zpracovat velké množství dat nebo volat časově náročnou metodu, musíme použít vícevláknové vlákno.

Příklad:


Nepoužití vícevláknového zpracování: Rozhraní nereaguje... Je to proto, že se multithreading nepoužívá




Předchozí:Kdo je šéf realit Wu Xuezhan stojící za "případem urážky matky"?
Další:BundleTable nenačítá js a css soubory s minimální frekvencí
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com