Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 18422|Vastaus: 1

[Lähde] C# oppii käyttämään Thread-säikeitä

[Kopioi linkki]
Julkaistu 27.3.2017 17.32.28 | | |

. .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ä




Edellinen:Kuka on kiinteistöpomo Wu Xuezhan "äidin loukkaustapauksen" takana?
Seuraava:BundleTable ei lataa js- ja css-tiedostoja min-muodossa
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com