Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 18422|Atsakyti: 1

[Šaltinis] C# išmoksta naudotis siūlų gijomis

[Kopijuoti nuorodą]
Paskelbta 2017-03-27 17:32:28 | | |

. .NET framework yra vykdymo klasės biblioteka, skirta C#, . .NET yra kelių gijų aplinka. Gija yra vienas nuoseklus proceso valdymo procesas. Gija yra proceso objektas. Procesas gali turėti kelias gijas, o gija turi turėti pirminį procesą.

     Gijos paprastai turi tris pagrindines būsenas: skaitymą, blokavimą ir veikimą. Iš trijų pagrindinių būsenų išvestos penkios pagrindinės gijų operacijos. Pirma, išvesti, gijos yra išvestos proceso metu. Antra, suplanuokite, pasirinkite paruoštą giją, kad įeitumėte į operacijos būseną. Trečia, blokuoti, jei gija turi laukti, kol įvykis įvyks vykdymo metu, ji bus užblokuota. Ketvirta, atblokuokite, jei įvykis prasideda, gija atblokuojama, patenkant į paruoštą eilę. Penkta, baigti, gija baigiasi, ir registro kontekstas ir rietuvės turinys yra išleistas.

     Nauja gija yra naujai sugeneruotas gijos objektas, kuriam dar nepaskirstyti ištekliai. Todėl galite naudoti tik start() arba close() metodus.

     Vykdoma būsena yra tada, kai gija gauna gijai reikalingus išteklius po to, kai paleidžiamas start() metodas ir iškviečia run() metodą.

     Būsena Not Runable yra būsena, kuri įeina, kai įvyksta šie įvykiai, iškviečiamas suspend() metodas, iškviečiamas sleep() metodas, gija naudoja wait() būklės kintamajam laukti, o gija laukia I/O.

    Negyvas yra tada, kai grįžta Run() metodas arba kita gija iškviečia stop() metodą, ir gija pereina į negyvą būseną. Žemiau pateikiami du paprasti "Thread" pavyzdžiai.


Santrauka: Kodėl verta naudoti "Thread" (kelių gijų), taip yra tam, kad neužblokuotumėte pagrindinės gijos, jei reikia apdoroti didelį duomenų kiekį arba iškviesti daug laiko reikalaujantį metodą, turime naudoti "Thread" kelių gijų.

Pavyzdys:


Nenaudojamas kelių gijų valdymas: sąsaja neatsako... Taip yra todėl, kad kelių gijų naudojimas nenaudojamas




Ankstesnis:Kas yra nekilnojamojo turto bosas Wu Xuezhan už "motinos įžeidimo bylos"?
Kitą:BundleTable neįkelia js ir css failų su min
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com