. .NET framework on ajonaikainen luokkakirjasto C#:lle, . .NET on monisäikeinen ympäristö. Säie on yksi peräkkäinen ohjausprosessi prosessissa. Lanka on prosessissa oleva entiteetti. Prosessissa voi olla useita säikeitä, ja säikeellä täytyy olla vanhempi prosessi.
Säikeissä on yleensä kolme perustilaa: lukutila, blokkaus ja toiminta. Kolmesta perustilasta johdetaan viisi säikeiden perusoperaatiota. Ensinnäkin, johdetaan, säikeet johdetaan prosessin sisällä. Toiseksi, ajasta ja valitse valmiina säie siirtyäksesi operaatiotilaan. Kolmanneksi, estä, jos säie joutuu odottamaan tapahtumaa suorituksen aikana, se estetään. Neljänneksi, poista esto, jos tapahtuma alkaa, säie vapautetaan ja se siirtyy valmiusjonoon. Viidenneksi, viimeistely, säie päättyy ja rekisterikonteksti sekä pinon sisältö, jonka se suoritti, vapautetaan.
Uusi säie on vastikään generoitu säikeobjekti, jolle ei ole vielä varattu resursseja. Siksi voit käyttää vain start()- tai close()-metodeja.
Ajettavissa oleva tila tarkoittaa, että säie saa säikeelle tarvittavat resurssit start()-metodin suorituksen jälkeen ja kutsuu run()-metodin suoritettavaksi.
Not Runable -tila on tila, joka käynnistyy, kun seuraavat tapahtumat tapahtuvat, suspend()-metodi kutsutaan, sleep()-metodi kutsutaan, säie käyttää wait()-näppäintä odottamaan ehtomuuttujaa ja säie odottaa I/O:ta.
Kuollut tarkoittaa, että Run()-metodi palaa tai toinen säie kutsuu stop()-metodia ja säie siirtyy kuolleeseen. Alla on kaksi yksinkertaista esimerkkiä Threadista.
Yhteenveto: Miksi käyttää Threadia (monisäikeisyyttä), sillä se estää pääsäikeen estämisen, jos täytyy käsitellä paljon dataa tai kutsua aikaa vievää menetelmää, meidän täytyy käyttää Thread multi-threadingiä.
Esimerkki:
Ei käytä monisäikeistämistä: Käyttöliittymä ei vastaa... Se johtuu siitä, että monisäikeisyyttä ei käytetä
|