C# Sov

C# Sov

I C Sharp bruker vi tråd for å utføre forskjellige oppgaver i operativsystemet. Disse trådene kan utføre mange funksjoner avhengig av oppgaven vi har tildelt. Hver oppgave gjøres avhengig av prioritert grunnlag. Om gangen, mer enn en tråd behandler, noe som gjør prosessoren multithreaded. Så mens vi prioriterer oppgavene i multithreading, bruker vi en metode som suspenderer en tråd midlertidig i noen tid, og får den til å hvile en stund, slik at i den tiden får andre tråder en sjanse til å utføre først.

Etter det gjennomførte de trådene som ble suspendert prosessen. Dette gjøres gjennom en søvnmetode. I C Sharp griper søvnmetoden den nåværende utførelsen av tråden for millisekunder som er spesifisert i programmet. En søvn () -metode kan brukes på to måter.

  • Søvn (milisekunder);
  • Søvn (tidsperiode);

Denne guiden vil bruke begge metodene for å forklare søvnbegrepet () i tråden ved å bruke C Sharp i Linux -operativsystemet.

Syntaks

# offentlig statisk søvn (int millisekunder);

Int -typevariabelen for millisekunder inneholder et tall i millisekunder for å suspendere tråden for den spesifiserte tiden.

Mens du initialiserer tiden i millisekunder som en parameter for søvnfunksjonen, hvis verdien av millisekundens argument er null, vil tråden kalle en annen prosess med lik prioritet som er klar til å bli utført. Hvis ingen annen tråd har samme prioritet, blir ikke utførelsen av den første tråden opphørt og fortsetter å utføre.

Eksempel 1: Søvnfunksjon med millisekunder

Som vi vet, er søvnmetoden opptatt av multithreading -prosessen. Tråder er en viktig del av operativsystemet vårt som bærer mange funksjoner om gangen, og utfører multitasking. Som beskrevet ovenfor, hjelper søvnfunksjonen med å prioritere oppgaven ved å gi litt hvile til en tråd i multithreading. Det samme konseptet vil bli utført i dette eksemplet. For å fortsette med eksemplet, vil vi først forklare bruken av bibliotekene. Systembiblioteket er for klasser, objekter og andre containertyper. Mens systemet.Gjenging er et ekstra bibliotek som vil bli inkludert spesielt for trådprosessen.

# Bruke system;
# Bruke system.Tråd;

To funksjoner er erklært her med tråd1 () og tråd2 (). Begge funksjonene er ikke-statiske. Det betyr at de ikke er arvet eller ikke kan brukes videre i noen annen klasse. Med andre ord, begge funksjonene er uavhengige. Inne i den første funksjonen, tråd1 (), har vi brukt en for loop som bare vil iterere to ganger og vise meldingen om at tråd1 fungerer. Inne i sløyfen brukes sleep () -metoden. Dette brukes til å pause i tråden i tråden i noen tid. Vi har erklært denne funksjonen på 4 sekunder.

Så ved å bruke søvnmetoden, vil trådens arbeid bli beslaglagt i 4 sekunder.

# Tråd.Søvn (4000);

Denne trådmetoden får tilgang til gjennom selve tråden.

Tilsvarende er en annen funksjon erklært, som er en tråd (). Dette inneholder også en 'for' sløyfe slik at den også kan iterere to ganger, og hver gang vil den vise meldingen om at tråd2 fungerer. Denne metoden er også en ikke-statisk metode. Der vil vi ikke bruke søvnfunksjonen inne i løkken.

Etter begge metodene vil vi erklære hovedprogrammet. Ettersom trådene i C Sharp er erklært i klassen, er det obligatorisk å lage forekomsten av tråden. Den objektforekomsten vil bli brukt til å lage trådene dessuten. Navnet på klassen vil bli nevnt med.

# Eksempelofthread obj = nytt eksempelofthread ();

Metoden MyThread vil bli opprettet. Vi vil bruke dette objektet til å lage trådene og deretter initialisere dem.

Ved å bruke vedlagte to utsagn, opprettes objektene for trådene. Etter det vil vi starte trådene ved å bruke Thr1- og Thr2 -objektene.

# Thr1.start();
# Thr2.start();

Lagre nå filen. Og vi vil bruke en kompilator for å kompilere ovennevnte kildekode. Dette er MC -er brukt til samlingen i C Sharp. Videre, etter samlingen, finner utførelsen av koden sted. Mono brukes til å utføre koden med .exe -utvidelse av filen, noe som gjør den kjørbar.

$ MCS -fil.CS
$ mono -fil.EXE

Ved utførelse av koden kan du se at den første og andre tråden blir utført, og den første tråden utføres senere, mens objektet til den første tråden opprettes før den andre. Og den første tråden starter først i stedet for den andre tråden. Dette er på grunn av søvnfunksjonen vi brukte i den første trådsløyfen.

Dette programmet vil fungere slik at når den første tråden blir kalt til å starte, initialiseres søvnfunksjonen, og tråden legger seg i 4 sekunder. Den andre tråden blir utført og viser uttalelsen 2 ganger i henhold til løkken. I løpet av denne tiden har søvnfunksjonen fullført tiden på 4 sekunder. Så nå vil den bli behandlet og vil vise uttalelsen to ganger.

Eksempel 2: Søvnfunksjon ved bruk av Timespan

Dette eksemplet bruker et tidsrom på noen sekunder. Hver uttalelse i trådfunksjonen vil bli utført med et gap i tide for den angitte perioden. Dette viser oss at tråden sover i en bestemt periode. La oss se dette konseptet ved å demonstrere et eksempel. Inne i klassen, i hovedprogrammet, vil vi først erklære tidsavbruddsverdien i variabelen. Denne verdien erklæres dynamisk ved hjelp av den 'nye' operatøren. Nøkkelordet TimeSpan viser at tidsavbruddsvariabelen er av Timespan -typen.

# Timespan timeout = new Timespan (0, 0, 3);

Vi vil bruke en for loop for å iterere til iterasjonen når 3. gang. Løkken vil vise meldingen om at tråden sover i 3 sekunder. Inne. Denne metoden vil bli kalt gjennom tråden og inneholder Timespan som parameter.

# Tråd.søvn (timeout);

En konsolluttalelse vil vise meldingen om at hovedtråden kommer utenfor løkken.

Når vi utfører koden, vises førstegangsmeldingen. Da vil det være en pause på 3 sekunder; Så igjen vises en annen linje. Tilsvarende vises denne linjen etter at 3 sekunder har gått.

Mens den siste linjen er erklært utenfor sløyfekroppen, vil hovedtråden vises brått etter den tredje linjen. Vi har ikke brukt søvntidsmetoden for denne siste linjen.

Konklusjon

Sleep () -metoden i C Sharp brukes til å slutte å stoppe prosessen i noen sekunder eller for å gjøre prosessen til å utføre etter en spesifisert pause. Denne suspensjonen av utførelsen i noen sekunder er bra for å jobbe med tråder i operativsystemet, da den får en tråd til å vente og hviler i noen tid til å jobbe senere effektivt. For det andre gir det en sjanse til de andre trådene for å bli utført i dette tidsintervallet. Denne søvnmetoden er effektiv å bruke mens CPU er multitasking. Begge metodene for søvnfunksjon brukes gjennom millisekundene og gjennom tidsspanet.