Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 18422|Odgovoriti: 1

[Vir] C# se nauči uporabljati niti niti

[Kopiraj povezavo]
Objavljeno na 27. 03. 2017 17:32:28 | | |

. .NET framework je knjižnica razredov za izvajanje za C#, . .NET je večnitno okolje. Nit je en sam zaporedni kontrolni proces v procesu. Nit je entiteta v procesu. Proces lahko vsebuje več niti, nit pa mora imeti nadrejen proces.

     Niti imajo običajno tri osnovna stanja: branje, blokiranje in delovanje. Iz treh osnovnih stanj je izpeljanih pet osnovnih operacij niti. Najprej izpeljimo, da so niti izpeljane znotraj procesa. Drugič, načrtuj, izberi pripravljeno nit za vstop v stanje operacije. Tretjič, blokiraj, če mora nit počakati na dogodek med izvajanjem, bo blokirana. Četrtič, odblokiraj, če se dogodek začne, se nit odblokira in vstopi v čakalno vrsto za pripravljenost. Petič, zaključi, nit se konča, in sprostita se kontekst registra ter vsebina sklada, ki jo je izvedela.

     Nova nit je na novo generiran objekt niti, ki še ni dodelil virov. Zato lahko uporabljate le metode start() ali close().

     Stanje izvajanja je, ko nit po zagonu metode start() dobi potrebne vire in pokliče metodo run() za izvajanje.

     Stanje Not Runable je stanje, ki vstopi, ko se zgodijo naslednji dogodki, pokliče se metoda suspend(), pokliče metoda sleep(), nit uporabi wait() za čakanje na pogojno spremenljivko, nit pa čaka na vhodno/izhodno funkcijo.

    Mrtvo je, ko se metoda Run() vrne ali druga nit pokliče metodo stop() in nit preide v mrtvo stanje. Spodaj sta dva preprosta primera Thread.


Povzetek: Zakaj uporabljati Thread (večnitnost), to je zato, da preprečimo blokiranje glavne niti; če morate obdelati veliko količino podatkov ali poklicati časovno zahtevno metodo, moramo uporabiti večnitno nit.

Primer:


Neuporaba večnitnosti: Vmesnik ne odgovarja... To je zato, ker večnitnost ni v uporabi




Prejšnji:Kdo je nepremičninski šef Wu Xuezhan, ki stoji za "primerom žalitve matere"?
Naslednji:BundleTable ne nalaga js in css datotek z minimum
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com