. .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á
|