Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

4. diel - Plánovanie a stavy vlákien v C ++

V minulej lekcii, Čakanie na vlákno v C ++ a odovzdávanie parametrov , sme si vysvetlili, ako na vlákno počkať a prečo je nutné na neho čakať v prvom rade. Ďalej sme si ukázali, ako odovzdať vláknu nejaké dáta cez parametre. V dnešnom tutoriále sa bližšie pozrieme na plánovanie vlákien z hľadiska operačného systému. Tak hor sa do toho.

Uspanie vlákna

Vlákno nemusia bežať po celú dobu behu programu. Môže napríklad nárazovo spracovať 1000 čísel a potom počkať nejaký čas, až bude mať ďalších 1000 čísel na spracovanie. Vlákno môžeme tzv. Uspať, tj. Pozastaviť jeho vykonávanie na určitú dobu. Napríklad na sekundu. Vlákno sa potom približne za sekundu spustí (hovoríme, že sa zobudí) a spracuje dáta, ktoré za túto sekundu prišla. Potom sa znovu na sekundu uspí a tak dokola.

V C ++ pre to máme metódu sleep_for() na objekte std::this_thread. Tá uspí vlákno na dobu danú parametrom, ktorý je typu std::chrono::duration. Ešte, než sa pozrieme na ukážku, znovu upozorním, že plánovanie vlákien je plne v rukách operačného systému. Parameter udáva minimálny čas, po ktorý bude vlákno uspanie, ale vlákno môže byť uspanie aj na dobu dlhšiu (a pravdepodobne i bude).

Timeslices

Operačný systém totiž pracuje s tzv. Timeslices


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Obmedzená ponuka: Nauč sa všetko a ušetri

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh za exkluzívnu cenu 315 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 23 článkom (23 lekcií) s kontrolou a certifikáciou a ešte naviac ušetríš 211 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 40% zľavu.

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Neobmedzený a trvalý prístup k jednotlivým lekciím.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V C ++ tutoriálu sa pozrieme, ako operačný systém vlákna plánuje, ako vlákno môžeme uspať as tým súvisiace stavy vlákien.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity