See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 18422|Vastuse: 1

[Allikas] C# õpib kasutama Thread lõime

[Kopeeri link]
Postitatud 27.03.2017 17:32:28 | | |

. .NET raamistik on käitusaegne klassiteek C# jaoks, . .NET on mitmelõimeline keskkond. Lõim on üks järjestikune juhtimisprotsess protsessis. Lõim on protsessis olev üksus. Ühel protsessil võib olla mitu lõime, ja lõimel peab olema vanemprotsess.

     Lõimedel on tavaliselt kolm põhilist olekut: lugemine, blokeerimine ja töötamine. Kolmest põhiseisundist tuletatakse viis lõimede põhioperatsiooni. Esiteks, tuletatakse, lõimed tuletatakse protsessi sees. Teiseks, ajasta, vali valmis lõim, et siseneda operatsiooniolekusse. Kolmandaks, blokeeri – kui lõim peab ootama sündmuse toimumist täitmise ajal, blokeeritakse see. Neljandaks, blokeeringu eemaldamine, kui sündmus algab, avatakse lõim ja see siseneb valmisjärjekorda. Viiendaks, lõpp, lõpeb lõim ning registri kontekst ja virna sisu, mida see käivitas, vabastatakse.

     Uus lõim on äsja genereeritud lõimeobjekt, mis pole veel ressursse eraldanud. Seetõttu saab kasutada ainult start() või close() meetodeid.

     Käivitatav olek on siis, kui lõim saab pärast start() meetodi käivitamist lõime jaoks vajalikud ressursid ja kutsub run() meetodi käivitamiseks.

     Not Runable olek on olek, mis siseneb järgmiste sündmuste korral, kutsutakse suspend() meetod, kutsutakse unemeetod, lõim kasutab wait() tingimusmuutuja ootamiseks ja lõim ootab I/O-d.

    Surnud on siis, kui Run() meetod tagastab või mõni teine lõim kutsub stop() meetodit ja lõim siseneb surnud olekusse. Allpool on kaks lihtsat näidet Threadist.


Kokkuvõte: Miks kasutada Thread'i (mitmelõimeline), see on selleks, et vältida peamise lõime blokeerimist; kui on vaja töödelda suurt andmemahtu või kutsuda aeganõudvat meetodit, peame kasutama Thread multi-threadingut.

Näide:


Multithreadingu mittekasutamine: liides ei reageeri... See on sellepärast, et mitmelõimelist süsteemi ei kasutata




Eelmine:Kes on kinnisvaraboss Wu Xuezhan, kes on "ema solvamise juhtumi" taga?
Järgmine:BundleTable ei laadi js ja css faile miniga
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com