Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 18422|Válasz: 1

[Forrás] C# megtanulja használni a Thread szálakat

[Linket másol]
Közzétéve 2017. 03. 27. 17:32:28 | | |

. A .NET keretrendszer egy futási idejű osztálykönyvtár C#, . A .NET egy többszálas környezet. A szál egy egyetlen egymást követő vezérlőfolyamat, amely egy folyamatban van. A szál egy folyamatban lévő entitás. Egy folyamatnak több szála lehet, és egy szálnak is van egy szülő folyamata.

     A szálak általában három alapvető állapotból állnak: olvasás, blokkolás és működés. A három alapállapotból öt szál alapművelet következik ki. Először is, a menetmenet egy folyamaton belül származik. Másodszor, ütemezz, válassz egy kész szálat, hogy belépj az operációs állapotba. Harmadszor, blokkolja, ha egy szálnak várnia kell egy eseményre a végrehajtás során, akkor blokkolják. Negyedszer, a blokkolás feloldása, ha az esemény elindul, a szál feloldódik, és belép a kész sorba. Ötödszer, a befejezés, a szál véget ér, és a regiszter kontextusa és a futtatott stack tartalma felszabadul.

     Az új szál egy újonnan generált szálobjektum, amely még nem osztott fel erőforrásokat. Ezért csak a start() vagy close() metódusokat használhatod.

     A futtatható állapot akkor van, amikor a szál megkapja a szálhoz szükséges erőforrásokat a start() metódus futtatása után, és a run() metódus végrehajtására hívja.

     A Nem futható állapot egy olyan állapot, amely akkor lép be, amikor a következő események megtörténnek, a suspend() metódus meghívása, a sleep() metódus hívása, a szál a wait() gombot használja a feltételváltozó megvárásához, és a szál az I/O-ra vár.

    A halott, amikor a Run() metódus visszatér, vagy egy másik szál hívja a stop() metódust, és a szál belép a halott állapotba. Az alábbiakban két egyszerű példa a Thread-re.


Összefoglaló: Miért használjuk a Thread-et (multi-threading), ez azért van, hogy megakadályozzuk a fő szál blokkolását; ha nagy mennyiségű adatot kell feldolgoznod, vagy időigényes módszert kell hívnod, akkor a Thread multi-threadinget kell használnunk.

Példa:


Nem használok többszálas kezelést: Az interfész nem reagál... Azért, mert a multithreading nem használatos




Előző:Ki az ingatlanfőnök, Wu Xuezhan, aki a "anyai sértés" ügy mögött áll?
Következő:A BundleTable nem tölt be js és css fájlokat min-nel
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com