c sleep how use sleep function c programs
V tej vadnici spanja C ++ boste razpravljali o funkciji spanja v C ++ in si oglejte, kako uspavati nit. Spoznali bomo tudi druge funkcije, tj. uspavati:
Vsak računalniški program, ki je postopek, opravilo ali nit, lahko za določen čas 'miruje' ali preide v neaktivno stanje. Izvršitev je za to obdobje prekinjena. Izvedba se bo nadaljevala, ko se izteče časovni interval spanja ali če signal ali prekinitev povzroči nadaljevanje izvajanja.
Za uspavanje programa (opravila, postopka ali niti) uporabimo sistemski klic spanja. Običajni sistemski klic v mirovanju vzame čas kot parameter, ki kaže, koliko časa program potrebuje za spanje ali nedejavnost.
=> Tukaj si oglejte celotno serijo usposabljanj za C ++.
Imamo tudi funkcije usleep () in thread :: sleep, o katerih bomo razpravljali v tej vadnici. Predvideni čas je večinoma v milisekundah, mikrosekundah ali sekundah in odvisno od tega imamo različne funkcije, ki lahko program uspavajo.
Kaj se boste naučili:
- Funkcija spanja ()
- Funkcija uspavanja ()
- Sleep v niti (sleep_for & sleep_until)
- Pogosto zastavljena vprašanja
- Zaključek
- Priporočeno branje
Funkcija spanja ()
Jezik C ++ ne zagotavlja lastne funkcije spanja. Vendar posebne datoteke operacijskega sistema, kot so unistd.h za Linux in Windows.h za Windows zagotavlja to funkcionalnost.
Ko uporabljamo operacijski sistem Linux ali UNIX, moramo v svoj program vključiti glavo datoteke 'unistd.h', da uporabimo spanje () funkcijo.
Med uporabo operacijskega sistema Windows moramo za uporabo funkcije sleep () vključiti glavo »Windows.h«. Torej, da napišemo program z več platformami, imamo lahko kodo, kot je prikazano spodaj, tako da bo uporabljena katera koli glava.
#ifdef _WIN32 #include #else #include #endif
Funkcija spanja je opisana spodaj:
Prototip funkcije:
nepodpisano spanje (nepodpisane sekunde);
Parametri:
sekunde => Časovno obdobje v sekundah, za katero je izvajanje programa začasno ustavljeno
Vrnjena vrednost:
0 => Če se spanje vrne, ko je potekel zahtevani čas.
Če spanje prekine signal, se vrne nespeli znesek (določeno zahtevano časovno obdobje minus dejanski pretečeni čas).
Opis:
Funkcija sleep () povzroči, da program ali postopek, v katerem je poklican, začasno ustavi njegovo izvajanje za določen čas v sekundah, ki ga določa parameter funkcije. Izvedba se ustavi, dokler ne poteče zahtevani čas ali če se funkciji ne dostavi signal ali prekinitev.
Če pa je sistem predvidel katero koli drugo dejavnost, je čas zadržanja morda daljši.
Spodaj je program C ++, ki uporablja funkcijo spanja med dvema stavkoma cout.
vprašanja in odgovori za intervju za informatiko pdf
#ifdef _WIN32 #include #else #include #endif #include #include using namespace std; int main() { cout << 'Hello '; cout.flush(); sleep(10); cout << 'World'; cout << endl; return 0; }
Izhod:
Pozdravljen, svet
V zgornjem programu damo ukaz za spanje z 10-sekundnim obdobjem po tiskanju “Hello”. Prevajalnik po tiskanju »Hello« počaka 10 sekund in nato natisne »World«.
Opomba: Bralci bi morali zagnati ta program, da bi dejansko razumeli delovanje ukaza za spanje
Funkcija uspavanja ()
Glava “unistd.h” ponuja še eno funkcijo “usleep ()”, ki lahko začasno ustavi izvajanje programa. Delovanje je podobno že opisani funkciji sleep ().
Prototip funkcije: int usleep (useconds_t useconds);
Parametri: usekunde => Število mikrosekund, za katere je izvedba začasno ustavljena
Vrnjena vrednost:
0 => Usleep se je uspešno vrnil.
-1 & errno => Funkcija ni uspela.
Opis:
Funkcija usleep () zadrži izvajanje klicne niti za sekunde mikrosekunde ali dokler signal ni dostavljen niti, ki prekine izvajanje.
Razdrobljenost vrednosti časovnika, uporabljenih v funkciji usleep, je lahko odvisna od izvedbe. Če potrebujemo natančnejšo razdrobljenost od tiste, ki jo določa izvedba, se dejanska vrednost časovnika zaokroži na naslednjo podprto vrednost.
Spodaj je primer za prikaz funkcije usleep ().
#include #include #include using namespace std; int main() { cout << 'Hello '; cout.flush(); usleep(10000); cout << 'World'; cout << endl; return 0; }
Izhod:
Pozdravljen, svet
Kot je prikazano v zgornjem izhodu, določimo časovno obdobje kot 10000 mikrosekund za funkcijo uspavanja in tako kot prejšnji program, ki uporablja funkcijo spanja, izpišemo niz »Hello World«.
Sleep v niti (sleep_for & sleep_until)
C ++ 11 ponuja posebne funkcije za uspavanje niti.
Obstajata dve funkciji:
Std :: this_thread :: sleep_for
Prototip funkcije:
template void sleep_for( const std::chrono::duration& sleep_duration );
Parametri: sleep_duration => Čas trajanja spanja
Vrnjena vrednost: nobenega
Opis: Funkcija sleep_for () je definirana v glavi. Funkcija sleep_for () blokira izvajanje trenutne niti vsaj za določen čas, tj.
Ta funkcija lahko blokira dlje kot določen čas zaradi načrtovanja dejavnosti ali zamud zaradi prepovedi virov.
Spodaj je podan primer C ++, ki prikazuje uporabo spanja_for:
#include #include #include using namespace std; int main() { cout << 'Hello I'm waiting....' << endl; this_thread::sleep_for(chrono::milliseconds(20000) ); cout << 'Waited 20000 ms
'; }
Izhod:
Pozdravljeni, čakam…
Čakano 2000 ms
V zgornjem programu imamo določeno trajanje spanja 20000 milisekund. To pomeni, da bo nit pred nadaljevanjem delovanja blokirala 20000 milisekund.
Std :: this_thread :: sleep_until
Prototip funkcije:
template void sleep_until( const std::chrono::time_point& sleep_time );
Parametri: sleep_time => Čas, do katerega naj bo nit blokirana.
Vrnjena vrednost: nobenega
Opis: Ta funkcija je definirana v glavi. Funkcija sleep_until () blokira izvajanje niti, dokler ne preteče sleep_time. Tako kot druge funkcije lahko tudi ta funkcija blokira dlje kot določen čas zaradi razporejanja dejavnosti ali zamud pri prepiranju virov.
Spodaj je podan program C ++ za funkcijo sleep_until.
#include #include #include using namespace std; void current_time_point(chrono::system_clock::time_point timePt) { time_t timeStamp = chrono::system_clock::to_time_t(timePt); cout << std::ctime(&timeStamp) << endl; } void threadFunc() { cout<<'Current Time :: '; current_time_point(chrono::system_clock::now()); chrono::system_clock::time_point timePt = chrono::system_clock::now() + chrono::seconds(60); cout << 'Sleeping Until :: '; current_time_point(timePt); this_thread::sleep_until(timePt); cout<<'Woke up...Current Time :: '; current_time_point(chrono::system_clock::now()); } int main() { std::thread th(&threadFunc); th.join(); return 0; }
Izhod:
Trenutni čas :: čet 19. september 12:52:01 2019
Spanje do :: Thu Sep 19 12:53:01 2019
Zbudil sem se ... Trenutni čas :: čet 19. september 12:53:01 2019
V tem programu omogočimo, da nit spi 60 sekund, torej 1 minuto. Ko je 1 minuta končana; nit se zbudi in natisne trenutni čas.
Pogosto zastavljena vprašanja
V # 1) Kaj počne spanje () v C ++?
Odgovor: Funkcija mirovanja () začasno ustavi izvajanje programa. To časovno obdobje je določeno kot argument za funkcijo sleep ().
V # 2) Kakšna je datoteka glave za spanje v C ++?
Odgovor: Glava mirovanja je »unistd.h« za operacijski sistem LINUX / UNIX in »Windows.h« za operacijski sistem Windows. Za spanje niti, ki uporablja funkciji ‘sleep_for’ in ‘sleep_until’, se uporablja glava.
V # 3) Kakšna je uporaba #include Unistd H?
Odgovor: Glava ‘Unistd.h’ je glava, ki definira funkcijo spanja () za zaustavitev izvajanja programa.
Zaključek
V tej vadnici za funkcijo sleep () smo razpravljali o funkciji spanja in usleep (), ki je enaka funkciji spanja in spanja, sleep_for in sleep_until. Funkciji spanja () in usleep () sta enaki, razen časovne enote, ki se uporablja za določanje časa spanja.
V funkciji sleep () je čas določen v sekundah, medtem ko je v funkciji usleep () čas določen v mikrosekundah. Funkcije niti sleep_for () začasno ustavijo izvajanje niti za določeno časovno obdobje, navedeno kot argument. Funkcija druge niti sleep_until () zadrži izvajanje niti, dokler ne poteče določen čas.
Predlagano branje = >> Kaj je testiranje niti?
Vrnitev vseh obravnavanih funkcij spanja bo morda trajala dlje časa, odvisno od razporejanja ali drugih zamud, značilnih za vire.
=> Tukaj preberite priljubljeno serijo usposabljanj za C ++.
Priporočeno branje
- Vadnica za glavne funkcije Pythona s praktičnimi primeri
- Večnitnost v jeziku C ++ z primeri
- 10 najboljših programov za prosti čas za sledenje času zaposlenih
- Vadnica QTP # 21 - Kako narediti teste QTP modularne in za večkratno uporabo z uporabo knjižnic dejanj in funkcij
- Funkcije v jeziku C ++ z vrstami in primeri
- Ukazi programa Unix Utilities: Which, Man, Find Su, Sudo (Del D)
- Priložnost za honorarno honorarno zaposlitev za strokovnjake za selen
- 10 NAJBOLJŠIH aplikacij za sledenje času za svobodnjake (2021 SELECTIVE)