..
Všechny moderní operační systémy trvat roky, než se model multi-procesní řízení, zadávání provedení a paměti na různé programy běží současně. V posledních letech, zejména díky všudypřítomnost komunikační sítě, toto pojetí bylo rozšířeno na jednotlivých softwarových, tak, že se stejný proces více toků kontrole těchto vláken. Tento nový přístup přináší obrovské změny ve struktuře softwaru, a to jak v teorii, tak v praxi, jako vždy se stane, modularity a expresivita jsou vypláceny v podobě zvýšené složitosti softwaru.
Programovacích jazyků nejnovější, Java, všechny nabízejí nativní API pro tvorbu a správu vlákna, systémy založené na virtuálních strojích, jako jsou Java a C # mají Developer úroveň abstrakce konzistentní na toto téma a všechny ostatní musí se spoléhat na primitiv operačního systému, často vznikají problémy přenositelnosti kódu. V této souvislosti jsou knihovny součástí POSIXu (pthreads) tak, aby C vývojáři také minimální záruky přenositelnost mezi různými systémy.
Tento článek je určen pro každého, kdo chce přistupovat k tématu souběžné programování v jazycích nízké úrovni. V této prezentaci se předpokládá, že čtenář již získali základní znalosti jazyka C, nebudou považovány za základní témata, jako je například správa paměti a datové typy.
Jak snadno uhodnout z názvu, POSIX vlákna knihovny jsou součástí sady POSIX (Portable rozhraní operačního systému [pro Unix]). S odkazem na definici "pthread [...] specifikuje sadu rozhraní (funkce, hlavičkové soubory) pro závitové programovacího procesu na jednotlivé [...] může obsahovat více vláken, z nichž všechny jsou provedení vyšetření programu [...] Stejný podíl globální paměti (data a halda segmenty), ale jeho Každé vlákno má vlastní zásobník. " Tento úryvek popisuje přesně to, co se podílí na multi-programování vlákna POSIX:
Použití standardu POSIX poskytuje vysokou úroveň integrace všech POSIX-kompatibilní systémy, jako je například GNU / Linux, Mac OS X, BSD i Windows (s některými doplňky). V celém tomto článku se budeme odkazovat na použití GCC pod GNU / Linux, samozřejmě, jsou všechny úvahy převedeny na jiné POSIX-jako je životní prostředí.
Knihovna pthread.h nabízí vše, co potřebujete pro programování v multi-vlákna, spíše než aby pouze výpis za předpokladu, primitivy, budeme představovat praktický příklad z času na čas diskutovat o jejich rozdíly.
Takže zvažte následující problém: program musí číst z bankovní převod několika souborů ze sběru a / nebo vklad musí být provedeny na účet, pak se tyto soubory budou mít následující podobu:
120 -550 896 5541 -85 ...Pro urychlení různých vláknech "Pokladna" provozují na jednom souboru a aktualizuje současně účtu klienta, jsme provedli všechny operace uvedené ve výstupu stavu účtu.
| |
Front Page (ebook)
Vytváření webových stránek bez znalosti HTML. Pouhých 25 €. |
| |
Java (kurz)
OOP programování v Javě ne. Od 49 €. |
| |
VB.NET (kurz)
Udělat Desktopové aplikace pomocí jazyka Visual Basic .. Od 49 €. |