Pouze tento týden sleva až 80 % na HTML & CSS a JavaScript
80 % bodů zdarma na online výuku díky naší Letní akci!

Lekce 14 - Další knihovny pro práci s vlákny v C++

V minulé lekci, Podmíněné proměnné v C++, jsme se naučili používat podmíněné proměnné a opravili architekturu producent-konzument.

Sadu nástrojů pro synchronizaci již máme kompletní. Konkrétně již víme jak pracovat s:

  • vlákny (třída std::thread),
  • mutexem (třída std::mutex),
  • atomickou proměnnou (struktura std::atomic) a nakonec i s
  • podmíněnou proměnnou (třída std::condition_variable).

Těmito tématy jsme se zatím zabývali pouze ve spojitosti s knihovnou thread ze standardu C++. V dnešní lekci se podíváme na další knihovny, které jsou k dispozici na různých platformách a se kterými se můžete setkat. Pro každou knihovnu si popíšeme základní třídy, kde získat více informací a reimplementujeme architekturu producent-konzument. Tento příklad pro všechny API můžete poté najít v přiloženém archivu.

C++ thread library

Touto knihovnou (tedy knihovnou thread) jsme se zabývali dosud a tak ji již nebudeme příliš rozepisovat. Kompletní přehled této knihovny můžete nalézt v dokumentaci, respektive v dokumentaci pro atomic. Všimněte si označení standardu vedle každé třídy a funkce (zelený text). Ten udává, od které verze standardu je funkcionalita k dispozici. Samotná knihovna je k dispozici až od standardu C++11, stejně jako vše, čím jsme se zatím zabývali.

Některé struktury, kterými se budeme zabývat v dalších lekcích (například semafory a bariéry) jsou dostupné až od pozdějších standardů a je potřeba o tom kompileru říci (přepínačem -std)!

Standard jako takový


 

...konec náhledu článku...

Prémiový článek

Prémiový článek

Na itnetwork.cz se nachází největší a nejucelenější česká databáze s výukovými články, jejímž cílem je umožnit kvalitní vzdělání v oblasti IT úplně každému. Měsíčně zobrazíme k milionu článků a sklidíme desítky děkovných emailů, kde nám sdělujete, že jsme vám pomohli k lepšímu zaměstnání nebo vzdělání.

Ačkoli se snažíme držet většinu obsahu úplně zadarmo, udržovat síť v provozu a aktuální stojí obrovské úsilí. Proto je nějaký obsah, jako cvičení nebo odbornější články, přístupný pouze za body. Nebojte, nestojí to skoro nic :)

Popis článku

Požadovaný článek má následující obsah:

V této lekci se podíváme na jiné knihovny pro C a C++, které dovolují pracovat s vlákny. Konkrétně POSIX Threads a Windows Threading.

Omezená nabídka: Nauč se vše a ušetři

Koupit články a funkce postupně a po jednom 130 bodů
Koupit všechny aktuálně dostupné články v sekci se všemi funkcemi za exkluzivní cenu 111 bodů
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 15 článkům s kontrolou a certifikací a ještě navíc ušetříš 49 Kč. Nabídka je omezená pouze pro první články z kurzu a obsahuje exkluzivní slevu 15%.
111 bodů získáš za přidání svého článku na síť nebo odpovídá 325 Kč 276 Kč

Pozor, pokud si koupíš pouze tento článek, ztratíš nárok na speciální slevu 15% na balíček všech článků.

Pro přístup k článku potřebuješ 10 bodů
Na svém účtu máš aktuálně 0 bodů
10 bodů získáš za přidání svého článku na síť nebo odpovídá 25 Kč

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem
Článek pro vás napsal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity (2)