c sleep how use sleep function c programs
Deze C ++ Sleep-tutorial bespreekt de slaapfunctie in C ++ en ziet hoe je een thread in slaap kunt brengen. We zullen ook leren over de andere functies, namelijk. jij slaapt:
Elk computerprogramma dat een proces, taak of thread is, kan gedurende een bepaalde tijd ‘slapen’ of in een inactieve toestand raken. De uitvoering wordt gedurende deze periode opgeschort. De uitvoering wordt hervat wanneer het tijdsinterval van de slaap verloopt of een signaal of onderbreking ervoor zorgt dat de uitvoering wordt hervat.
Om een programma (taak, proces of thread) in slaap te brengen, maken we gebruik van een slaapsysteemoproep. Een typische slaapsysteemaanroep neemt de tijd als parameter die aangeeft hoeveel tijd het programma nodig heeft om te slapen of inactief te blijven.
Bekijk hier de complete C ++ trainingsserie.
We hebben ook usleep () en thread :: sleep-functies die we in deze tutorial zullen bespreken. De geleverde tijd is meestal in milliseconden, microseconden of seconden en afhankelijk daarvan hebben we verschillende functies die het programma in slaapstand kunnen brengen.
Wat je leert:
- Slaapfunctie ()
- Usleep () Functie
- Thread Sleep (sleep_for & sleep_until)
- Veel Gestelde Vragen
- Gevolgtrekking
- Aanbevolen literatuur
Slaapfunctie ()
C ++ - taal biedt geen eigen slaapfunctie. De specifieke bestanden van het besturingssysteem, zoals unistd.h voor Linux en Windows.h voor Windows bieden deze functionaliteit.
Wanneer we het Linux- of UNIX-besturingssysteem gebruiken, moeten we het header-bestand 'unistd.h' in ons programma opnemen om de slaap () functie.
Tijdens het gebruik van het Windows-besturingssysteem, moeten we de koptekst “Windows.h” opnemen om de functie sleep () te gebruiken. Dus om een platformonafhankelijk programma te schrijven, kunnen we de code gebruiken zoals hieronder weergegeven, zodat een van de headers wordt gebruikt.
De slaapfunctie wordt hieronder beschreven:
Functieprototype:
niet-ondertekende slaap (niet-ondertekende seconden);
Parameters:
seconden => Tijdsperiode in seconden gedurende welke de uitvoering van het programma wordt onderbroken
Winstwaarde:
0 => Als de slaap terugkeert omdat de gevraagde tijd is verstreken.
Als de slaap wordt onderbroken door een signaal, wordt een niet-geslapen hoeveelheid (opgegeven opgegeven tijdsperiode minus de werkelijk verstreken tijd) geretourneerd.
Omschrijving:
De functie sleep () zorgt ervoor dat het programma of het proces waarin het wordt aangeroepen, de uitvoering tijdelijk onderbreekt voor een periode in seconden die wordt gespecificeerd door de functieparameter. De uitvoering wordt opgeschort totdat de gevraagde tijd is verstreken of een signaal of een onderbreking aan de functie wordt geleverd.
Als het systeem echter een andere activiteit heeft gepland, kan de opschortingsperiode langer zijn.
Hieronder is een C ++ -programma weergegeven dat de slaapfunctie tussen twee cout-instructies gebruikt.
de beste spionage-app voor Android
Uitgang:
Hallo Wereld
In het bovenstaande programma geven we een slaapopdracht met een periode van 10 seconden na het afdrukken van 'Hallo'. De compiler wacht 10 seconden na het afdrukken van 'Hallo' en drukt vervolgens de 'Wereld' af.
Notitie: Lezers moeten dit programma uitvoeren om de werking van het slaapcommando daadwerkelijk te begrijpen
Usleep () Functie
De header “unistd.h” biedt nog een andere functie “usleep ()” die de uitvoering van een programma voor een gespecificeerde tijdsperiode kan opschorten. De werking is vergelijkbaar met de functie sleep () die al is beschreven.
Functieprototype: int usleep (useconds_t useconds);
Parameters: useconds => Aantal microseconden waarvoor de uitvoering is opgeschort
Winstwaarde:
0 => Usleep is succesvol teruggekeerd.
-1 & errno => Functie mislukt.
Omschrijving:
De functie usleep () schort de uitvoering van de aanroepende thread gedurende useconden microseconden op of totdat het signaal wordt geleverd aan de thread die de uitvoering onderbreekt.
De granulariteit van de timerwaarden die in de usleep-functie worden gebruikt, kan implementatiespecifiek zijn. Als we een fijnere granulariteit nodig hebben dan die gespecificeerd door de implementatie, dan wordt de werkelijke timerwaarde naar boven afgerond naar de volgende ondersteunde waarde.
Hieronder is een voorbeeld gegeven om de usleep () functie te demonstreren.
Uitgang:
Hallo Wereld
Zoals getoond in de bovenstaande uitvoer, specificeren we de tijdsperiode als 10000 microseconden voor de slaapfunctie en net als het vorige programma dat de slaapfunctie gebruikt, drukken we de tekenreeks 'Hallo Wereld' af.
Thread Sleep (sleep_for & sleep_until)
C ++ 11 biedt specifieke functies om een thread in slaap te vallen.
Er zijn twee functies:
Std :: this_thread :: sleep_for
Functieprototype:
Parameters: sleep_duration => Tijdsduur om te slapen
Winstwaarde: geen
Omschrijving: De functie sleep_for () is gedefinieerd in de header. De functie sleep_for () blokkeert de uitvoering van de huidige thread voor ten minste de opgegeven tijd, d.w.z. sleep_duration.
Deze functie kan voor een langere duur dan een bepaalde tijd worden geblokkeerd vanwege planningsactiviteiten of vertragingen in resourceconflicten.
Een C ++ -voorbeeld dat het gebruik van sleep_for demonstreert, wordt hieronder gegeven:
Uitgang:
Hallo, ik wacht ....
Wachtte 2000 ms
In het bovenstaande programma hebben we een gespecificeerde slaapduur van 20.000 milliseconden. Dit betekent dat de thread 20000 milliseconden blokkeert voordat de bewerking wordt hervat.
Std :: this_thread :: sleep_until
Functieprototype:
Parameters: sleep_time => Tijdsduur tot welke de thread moet worden geblokkeerd.
Winstwaarde: geen
Omschrijving: Deze functie is gedefinieerd in de header. De functie sleep_until () blokkeert de uitvoering van een thread totdat de sleep_time is verstreken. Net als de andere functies kan deze functie ook voor een langere duur dan een bepaalde tijd worden geblokkeerd vanwege planningsactiviteiten of vertragingen van resourceconflicten.
Een C ++ -programma voor de functie sleep_until wordt hieronder gegeven.
Uitgang:
Huidige tijd :: Do 19 september 12:52:01 2019
Slapen tot: do 19 september 12:53:01 2019
Werd wakker ... Huidige tijd :: Do 19 september 12:53:01 2019
In dit programma laten we de draad 60 seconden slapen, d.w.z. 1 minuut. Zodra 1 minuut voorbij is; draad wordt wakker en drukt de huidige tijd af.
Veel Gestelde Vragen
V # 1) Wat doet sleep () in C ++?
Antwoord: Sleep () functie onderbreekt de uitvoering van het programma voor een bepaalde tijdsperiode. Deze tijdsperiode wordt opgegeven als een argument voor de functie sleep ().
Q # 2) Wat is het header-bestand voor sleep in C ++?
Antwoord: De koptekst voor slaapstand is 'unistd.h' voor het LINUX / UNIX-besturingssysteem en 'Windows.h' voor het Windows-besturingssysteem. Voor thread-sleep die de functies ‘sleep_for’ en ‘sleep_until’ gebruikt, wordt koptekst gebruikt.
V # 3) Wat is het gebruik van #include Unistd H?
Antwoord: De koptekst ‘Unistd.h’ is de koptekst die de functie sleep () definieert om de uitvoering van het programma op te schorten.
Gevolgtrekking
In deze tutorial voor de functie sleep () hebben we de slaapfunctie en de functie usleep () besproken, die hetzelfde is als de slaap- en thread-slaapfuncties sleep_for en sleep_until. De functies Sleep () en usleep () zijn hetzelfde, behalve de tijdseenheid die wordt gebruikt om de slaaptijd op te geven.
In de functie sleep () wordt de tijd gespecificeerd in seconden, terwijl in de functie usleep () de tijd wordt gespecificeerd in microseconden. De thread-functies sleep_for () onderbreekt de uitvoering van de thread voor een specifieke tijdsperiode die als argument wordt opgegeven. De tweede thread-functie sleep_until () onderbreekt de uitvoering van de thread totdat een opgegeven tijd is verstreken.
Voorgestelde lezing = >> Wat is draadtesten?
Het kan langer duren voordat alle besproken slaapfuncties zijn teruggekeerd, afhankelijk van de planning of andere resource-specifieke vertragingen.
Lees hier de populaire C ++ trainingsserie.
Aanbevolen literatuur
- Python Main Function-zelfstudie met praktische voorbeelden
- Multithreading in C ++ met voorbeelden
- 10 Beste gratis tijdkloksoftware voor tijdregistratie van werknemers
- QTP Tutorial # 21 - QTP-tests modulair en herbruikbaar maken met acties en functiebibliotheken
- Functies in C ++ met typen en voorbeelden
- Unix Utilities Programma's Commando's: Which, Man, Find Su, Sudo (Deel D)
- Parttime freelancen vacature voor seleniumexperts
- 10 BESTE tijdregistratie-apps voor freelancers [2021 SELECTIEF]