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