Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 18422|Svare: 1

[Kilde] C# lærer å bruke trådtråder

[Kopier lenke]
Publisert på 27.03.2017 17:32:28 | | |

. .NET-rammeverket er et runtime-klassebibliotek for C#, . .NET er et flertrådet miljø. En tråd er en enkelt sekvensiell kontrollprosess i en prosess. En tråd er en enhet i en prosess. En prosess kan ha flere tråder, og en tråd må ha en foreldreprosess.

     Tråder har vanligvis tre grunnleggende tilstander: lesing, blokkering og operasjon. Fra de tre grunnleggende tilstandene utledes fem grunnleggende operasjoner for tråder. Først, utlede, tråder utledes innenfor en prosess. For det andre, planlegg, velg en klar tråd for å gå inn i operasjonstilstanden. For det tredje, blokker, hvis en tråd må vente på at en hendelse skal skje under kjøringen, vil den bli blokkert. For det fjerde, opphev blokkeringen, hvis hendelsen starter, blir tråden opphevet og går inn i klarkøen. For det femte, avslutt, tråden avsluttes, og registerkonteksten og stakkinnholdet den kjørte frigjøres.

     En ny tråd er et nylig generert trådobjekt som ennå ikke har tildelt ressurser. Derfor kan du bare bruke start() eller close()-metodene.

     Den kjørbare tilstanden er når tråden får ressursene som trengs for tråden etter at start()-metoden kjører og kaller run()-metoden for å kjøre.

     Not Runable-tilstanden er en tilstand som går inn når følgende hendelser inntreffer, suspend()-metoden kalles, sleep()-metoden kalles, tråden bruker wait() for å vente på betingelsesvariabelen, og tråden venter på I/O.

    Død er når Run()-metoden returnerer, eller en annen tråd kaller stop()-metoden, og tråden går inn i død tilstand. Nedenfor er to enkle eksempler på Thread.


Oppsummering: Hvorfor bruke Thread (multi-threading)? Dette er for å unngå blokkering av hovedtråden. Hvis du trenger å behandle store mengder data eller kalle en tidkrevende metode, må vi bruke Thread-multitråding.

Eksempel:


Bruker ikke multitråding: Grensesnittet svarer ikke... Det er fordi multitråding ikke er i bruk




Foregående:Hvem er eiendomssjefen Wu Xuezhan bak "morfornærmelsessaken"?
Neste:BundleTable laster ikke js- og css-filer med min
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com