..


Sponzorované odkazy

Současné programování v C + +

Článek napsal Stefano Cancedda
Strana 1 z 6

Sekvenční programování nabízí záruku, že pokyny jsou vždy prováděny tak, aby se žádné změny. Výsledné chování je deterministické: vložení stejné vstupy, je výstup získal stejný výsledek.
Pro každý program běží operační systém vytváří proces, který poskytuje zabezpečené části paměti. To poskytuje možnost, že nezávislé procesy pracují současně bez chyb.

Různé (a pokročilejší) je souběžné programování. Před obležením má být zavedena a jak to funguje, podle mého názoru, určitý typ objektu, tzv. jádra vlákna.

Jako objekty jádra vlákna jsou řízeny operačním systémem, a mají dvě základní vlastnosti:

  • Každé vlákno má vlastní datovou strukturu, která uchovává svůj vlastní zásobník, informace o výjimce, další instrukce mají být provedeny;
  • Každé vlákno sdílí s celým procesem společné oblasti paměti.
Použití vláken má několik výhod, pokud jde o provedení. Zejména jsme plně využít výkon vícejádrových procesorů, které jsou v současné době dominantní technologií na trhu osobních počítačů. Je nemyslitelné, že určitá složitost moderních aplikací je v sekvenčním způsobem, může tak využít čas, jen jeden z hlavních, že zařízení poskytuje.

Jako další výhodu, to může být viděno jako dva různé procesy běží stejný kód, snad s různými parametry, jsou méně účinné než dvě vlákna, které lze přímo využít sdílené paměti. V systému, který nepodporuje vlákna, pokud chcete spustit vícekrát stejný program, musíte vytvořit více pracovních míst, na stejném programu. Tato technika funguje, ale je plýtvání zdrojů a je pomalejší.

Za třetí, vlákna mají tu výhodu, pokud jsou tzv. I / O blokátory: namísto čekání na události vyvolané uživatelem zastavení provádění algoritmu, můžete začít nové téma a zabránit zbytečným prostojům , který se zhoršuje jeho celkovou výkonnost.

Na rozdíl od současných programů potřebuje podporu synchronizace konstrukty, které jsou zásadní, aby se zabránilo náhodné přístupy do sdílené paměti příčinou chyby ve výstupu. Také odhaluje programátor k sérii chyb často špatně živeni, protože nepředvídatelné chování deterministického programu.

Kromě toho je synchronizace konstrukce má cenu, a to jak z hlediska strojového času potřebné k provedení jejich kód v určité ztráty výkonu v důsledku očekávání, vytvořené těmito pojmy, aby byla zajištěna spravedlnost při provádění konkurenta.

Mezi hlavní objekty, které umožňují vedení soutěže se očekávají níže a podrobně popsány v následujících odstavcích:

  • Těkavé prvky
  • Blokované funkce
  • Semafor
  • Kritické sekce
  • Události
  • Timer
  • Mutex
Každý z těchto prvků se vejdou do přírodní způsob, jak vyřešit konkrétní třídy jednoduchých problémů. U složitějších problémů jednoduše spojit dohromady tyto objekty získat správný výsledek uspokojivý a průchod řešení problémů, které vyžadují použití jednoho z nejstarších a problémy, které jsou definovány jako výše, je komplexní velmi kritická. Kombinace synchronizace objektů může být složitá, v nejlepším případě, protože nelze získat dostatečně vysoký výkon v nejhorším případě, protože nelze snadno najít řešení, které zajistí správnost výsledků. V neposlední řadě nejhorší případ: je fatální chybu a ne okamžitě identifikovat. Toto spojení je velmi časté, a to jak vzhledem k citlivosti problematiky se budeme zabývat, je fakt, že chyb je vždy problematická současné prostředí, toky v provedení skutečnosti deterministický, každý realizace programu, pořadí procesor provádí operace je vždy jiná.

Ve stejné kategorii ...
E-Learning
ASP (Advanced) ASP (Advanced)
Celý kurz pro vytváření dynamických webů. Od 39 €.
AutoCAD (eBook) AutoCAD (eBook)
Tvorba architektonických struktur. V pouhých 29 €.
JavaScript (kurz) JavaScript (kurz)
Kompletní průvodce pro skriptování na straně klienta. Od 39 €.
Sponzorované odkazy